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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
typedef struct {
 
	TCHAR *parametre1;             
	TCHAR *parametre2;         
 
} MaStr;
Je déclare ensuite un tableau :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
MaStr *tableau = new MaStr[MAX_STRUCT];
J'ai ensuite une fonction qui est chargée de remplir ce tableau.
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
int MaFonction( MaStr *(tableau)[MAX_STRUCT] );
Et l'appel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
MaFonction( &tableau );
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.

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