Erreur de compilation [help]
radagast35
Messages postés
2
Statut
Membre
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Slt,
je rencontre une erreur de compilation en C, pouvez vous m'aider SVP???
typedef
struct
{
char Nom [26];
char GrTP;
char GrTD;
float Note;
}
TEtudiant;
void ChargerTab (TEtudiant pEtu, int pNb, FILE * pDesc)
{
fread (&pEtu[pNb], sizeof (TEtudiant), 1, pDesc);
while (!feof(pDesc))
{
++pNb;
fread (&pEtu[pNb], sizeof (TEtudiant), 1, pDesc);
}//while
fclose (pDesc);
}//ChargerTab
Erreur:
TP1_3.cpp: In function `void ChargerTab(TEtudiant, int, FILE*)':
TP1_3.cpp:54: no match for `TEtudiant& [int&]' operator
TP1_3.cpp:58: no match for `TEtudiant& [int&]' operator
Pitié je désespère!!!! HELP ME!!!
je rencontre une erreur de compilation en C, pouvez vous m'aider SVP???
typedef
struct
{
char Nom [26];
char GrTP;
char GrTD;
float Note;
}
TEtudiant;
void ChargerTab (TEtudiant pEtu, int pNb, FILE * pDesc)
{
fread (&pEtu[pNb], sizeof (TEtudiant), 1, pDesc);
while (!feof(pDesc))
{
++pNb;
fread (&pEtu[pNb], sizeof (TEtudiant), 1, pDesc);
}//while
fclose (pDesc);
}//ChargerTab
Erreur:
TP1_3.cpp: In function `void ChargerTab(TEtudiant, int, FILE*)':
TP1_3.cpp:54: no match for `TEtudiant& [int&]' operator
TP1_3.cpp:58: no match for `TEtudiant& [int&]' operator
Pitié je désespère!!!! HELP ME!!!
A voir également:
- Erreur de compilation [help]
- Erreur upes 1025 - Forum Téléviseurs
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
1 réponse
&pEtu[pNb] !!!!Houla que c'est moche !
Dans ta fonction ChargerTab tu passe la première variable par copie. Donc même si ça compilait, je doute fort que ton programme ferai ce que tu veux, si tu t'en tire par hasard sans erreur de mémoire.
Si tu veu passser un tableau de TEtudiant il faut faire :
void ChargerTab (TEtudiant[] pEtu, int pNb, FILE * pDesc)
ou void ChargerTab (TEtudiant* pEtu, int pNb, FILE * pDesc).
ce que tu fait peu marcher à condition que tu mette void ChargerTab (TEtudiant& pEtu, int pNb, FILE * pDesc) Mais je ne te le conseil pas.
Je ne sais pas si ta fonction est complete, mais ATTENTION à l'allocation mémoire ! tu ne connait pas a priori la taille qui va être lu.
Si &pEtu[Np] ne fonctionne pas, c'est peut être aussi à cause de la précéance des opérateur, (&pEtu)[Np] fonctionnerai peut être.