type mismatch - C - Programmation
Marsh Posté le 30-03-2006 à 15:37:28
"redeclaration of 'hightscore' "
Apparemment tu as une déclaration implicite de hightscore dans ton code, et donc par défaut il la considère comme une fonction renvoyant un int.
tu as sans doute oublié de la déclarer en tête de ton fichier.
Marsh Posté le 30-03-2006 à 15:45:23
Code :
|
autrement dit fclose(NULL), plantage assuré
et sémantiquement pourquoi fermer un fichier dont l'ouverture à échouée ?
pour la lecture fais plutot
Code :
|
Marsh Posté le 30-03-2006 à 15:30:34
Bonjours a tous,
void highscore()
{
FILE *fichier;
struct joueur gamer;
int i=2;
initial();
cprintf("Highscore" );
fichier = fopen("score.duf","rb" );
fenetre(20,7,60,20);
gotoxy(3,1);
printf("<<Nom" );
gotoxy(32,1);
cprintf("Score>>" );
if(!fichier) //si le fichier n'existe pas
{
fclose(fichier);
initscore(&gamer);
fichier = fopen("score.duf","rb" );
}
fread(&gamer,sizeof(gamer),1,fichier);
//lecture d la taille de la structure
//dans le fichier
while(!feof(fichier)) //tant que pas la fin de fichier
{
gotoxy(4,i);
printf("%d: %s %1d",i-1,gamer.nom,gamer.score);
fread(&gamer,sizeof(gamer),1,fichier);
i++;
}
getch();
fclose(fichier);
}
voici une fonction ac laquelle j'ai rencontré une erreur en compilant mon programme, il me dit:
error "Type mismatch in redeclaration of 'hightscore' "
avez vous une solution pour corriger cette erreur? merci