dans ton exemple, tab est déclaré sur la pile en local, en retournant un pointeur sur ce tableau, la fonction appelante ne pourra pas y accéder (plus exactement le pointeur ne sera pas valide).
il faut créer dynamiquement le tableau et le retourner (new, malloc). string* ::mafct() { string* tab=new string[3];
return tab; }
PS : prévoir la libération de la mémoire
|