[C++] Problème

Problème [C++] - Programmation

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?

Reply

Marsh Posté le 25-03-2001 à 09:25:05   

Reply

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 *


---------------
http://www.chadenat.forez.com
Reply

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 !


---------------
PuissanceLED
Reply

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?

Reply

Marsh Posté le 25-03-2001 à 10:49:45    

& fait que ca passe l'adresse au lieu de la valeur.


---------------
http://www.chadenat.forez.com
Reply

Marsh 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*).

Reply

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed