Bonjour, voici mon problème: dans une fonction quelconque, je souhaite appeller une autre fonction en lui passant comme paramètre un tableau 2D non encore alloué au niveau de la taille. Un exemple simplifié donnerait ca :
Code :
- int (*Tab)[10];
- test(Tab);
- int i,j;
- for (i=0;i<10;i++)
- {
- for (j=0;j<10;j++)
- cout << Tab[i][j] << " " ;
- cout << endl;
- }
|
Puis dans la fonction, j'alloue la place pour mon tableau et je le rempli. Par exemple comme ca:
Code :
- void test(int (*Tab)[10])
- {
- int i,j;
- Tab=new int[10][10];
- for (i=0;i<10;i++)
- for (j=0;j<10;j++)
- Tab[i][j]=i+j;
- for (i=0;i<10;i++)
- {
- for (j=0;j<10;j++)
- cout << Tab[i][j] << " " ;
- cout << endl;
- }
- }
|
Mon problème est alors qu'apparement, la création de mon tableau se fait localement et que je ne peux plus y accéder quand je sors de ma fonction. J'ai essayé de passer le tableau en static, mais au final ca devra être dans une librairie à part et le static n'a pas l'air de passer Quelqu'un aurait il une idée pour que je puisse éviter la destruction de mon tableau quand je sort de ma fonction "test" ?
Merci par avance
Message édité par Darsh le 10-03-2004 à 12:19:43