Problème [C++] - Programmation
Marsh Posté le 25-03-2001 à 10:15:41
c'est vscale qui ne ne va pas , regarde le prototype de la fonction fread mais le prmeier paramètre doit être un void *
Marsh Posté le 25-03-2001 à 10:21:53
je pense qu il te faut un (void*)(&scale) comme param mais ca faut longtemps que j ai pas fait de C !
Marsh Posté le 25-03-2001 à 10:33:46
J'ai juste rajouté & devant vscale et ça marche, qu'est-ce que ce & fait exactement pout que ça ne produise plus d'erreur?
Marsh Posté le 25-03-2001 à 10:49:45
ReplyMarsh Posté le 27-03-2001 à 02:22:20
Or void* est un type pointeur générique, il est donc "compatible" avec n'importe quel type pointeur, en particulier, dans ton cas, pointeur sur flottant (float*).
Marsh Posté le 27-03-2001 à 05:17:13
Alload, il est temps de se replonger un peu dans les bouquins de C la les operateurs de reference ("&" ) est d'indirection ("*" ) sont vraiment des choses qu'il faut maitriser ... c'est la base des pointeurs.
Marsh Posté le 25-03-2001 à 09:25:05
Voilà la partie de code:
FILE *bin3ds
float vscale;
fread (vscale, sizeof (float), 1, bin3ds);
et voilà l'erreur que Visual C++ me renvoit:
E:\Mes Documents\OpenGL\test\loader.cpp(157) : error C2664: 'fread' : cannot convert parameter 1 from 'float' to 'void *'
D'où vient le problème? Comment y remédier?