Réponse acceptée !
Si par tableau tu entends ceci:
int tab[3];
On ne retourne jamais un tableaux à porté local.
Pour faire équivalent, tu peux retourner un pointeur sur une zone mémoire allouée dynamiquement. Ne pas oublier de désallouer la zone une fois que tu n'en auras plus besoin.
Sinon, mieux, passe le pointeur en argument de ta fonction. Comme ça, tu alloueras la mémoire en dehors de la fonction.
void fonction (int *i)
{
i[0] = 1;
i[1] = 2;
i[2] = 3;
}
...
int tab[3]; // Tableau statique, aucun besoin d'allocations dynamique couteuses
fonction(tab); // On passe son adresse en paramètre de fonction
// tab contiendra {1, 2, 3}
C++ (@++)