bonjour,
voici un petit bout de code qui peut aider
la fonction f alloue sur le tas la mémoire nécessaire au tableau dynamique
#include <iostream>
using namespace std;
const int COL=5;
const int LIG=2;
char** f(int x, int y)
{
char** p = new char*[x];
for (int i=0; i<x; i++)
{
p[i]=new char[y];
for (int j=0; j<y; j++)
p[i][j]=i+j;
}
cout << "alloc p[" << x << "," << y << "], p= " << (void*)p << endl;
return p;
}
int main()
{
int a=2, b=5;
char** p = f(a,b);//la fonction va allouer de la memoire sur le tas
//ici on peut utiliser le tableau renvoyé....
//il s'agit ensiute de BIEN TOUT libérer
for (int i=0; i<a; i++)
delete p[i];
delete[] p;
return 0;
}
-------------------------------
Réponse au message :
-------------------------------
>
> Un ptit coup de malloc et ca fonctionnera :)
>
> en fait tu declare la variable en tant que tableau[] donc
> en tant que variable locale qui ne sera plus allouee quand
> tu quittera la fonction.
> S'tu malloc une zone memoire ou tu recopie ton tableau
> et que tu renvoie le pointeur vers cette zone memoire ca
> devrait aller.
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Comment peut on renvoyer un tableau de char du type :
> > char i[][] dans une fonction ?
> >
> > Merci

>