Bonjour,
Un problème que je n'arrive jamais à résoudre, alors cette fois-ci au lieu de trouver des méthodes détournées pour essayer de passer outre ce problème, je vais l'aborder de plein fouet.
Mais j'ai beau réfléchir, je n'y comprends pas grand chose, et j'aurai besoin d'un peu d'aide pour faire les choses correctement.
Mon problème :
Je déclare une structure :
Je déclare ensuite un tableau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 typedef struct { TCHAR *parametre1; TCHAR *parametre2; } MaStr;
J'ai ensuite une fonction qui est chargée de remplir ce tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MaStr *tableau = new MaStr[MAX_STRUCT];
Donc je dois passer en paramètre de ma fonction un pointeur sur mon tableau. ( si je ne me trompe pas? )
voici le prototype de ma fonction :
Et l'appel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int MaFonction( MaStr *(tableau)[MAX_STRUCT] );
Le problème se situe au niveau du passage en paramètre je pense. Car dans le corps de ma fonction, si j'utilise le pointeur, le programme compile mais plante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MaFonction( &tableau );
Ma conclusion c'est donc que le pointeur a une mauvaise valeur. Du coup je tape dans un espace mémoire réservé... Pourtant je ne vois pas mon erreur.
Merci d'avance pour ceux qui pourront m'aider
Partager