Bonjour,
Je voudrais passer des paramètres par référence à une fonction sans que le type soit connu par cette fonction.
Quelque chose comme ceci :
Dans une fonction quelconque F1:
et la fonction appellée est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void F1() { struct JK{ long K; long L; }; JK Re; ReadRecord(C,&Re); }RecordSize est connu et n'est pas modifié
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 unsigned __int64 TDB::ReadRecord(unsigned __int64 key, void *Rec) { // quelques lignes de code qui ne pose pas problème FileRead(File,Rec,RecordSize); }
l'adresse de Re est correctement transmise et est reçue dans Rec
Mais le FileRead plante.
je suppose qu'il tente d'écrire dans un espace qui n'était pas alloué, pourtant, en créant la structure Re dans F1, j'ai alloué l'espace.
Qu'est-ce que je n'ai pas compris ?
Partager