Problème d'allocation d'un tableau dans une fonction - C++ - Programmation
Marsh Posté le 10-03-2004 à 14:30:58
Tu dois faire une boucle pour allouer les tableaux les uns après les autres, en gros :
Code :
|
Juste en passant, essaye de mettre les noms des variables en minuscule, la première lettre en majuscule est utilisé pour les noms des classes (bien sur ce n'est qu'une directive).
Marsh Posté le 10-03-2004 à 14:31:01
Darsh a écrit : la création de mon tableau se fait localement et que je ne peux plus y accéder quand je sors de ma fonction |
La création de ton tableau n'est pas locale, un bout de mémoire alloué par new / malloc reste alloué jusqu'à sa désallocation manuelle.
Ce qui est détruit, c'est le pointeur. Le pointeur passé à ta fonction est copié lorsqu'il est passé à test(). En sortie, il est détruit, ton pointeur global n'a pas changé.
Donc, copie par référence ou pointeur de pointeur. Ou pointeur vers une vraie classe array, pas un truc genre int* [10] qui pètera dès que tu auras besoin de 11 éléments.
Marsh Posté le 10-03-2004 à 12:01:54
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 :
Puis dans la fonction, j'alloue la place pour mon tableau et je le rempli. Par exemple comme ca:
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