2010-05-19 6 views
1

comme je l'ai dit que je reçois cette erreur horrible que je ne sais pas vraiment quoi faireproblème de coulée ne peut pas convertir vide flotter C++

float n= xAxis[i].Normalize(); 

thats où je reçois l'erreur et je l'obtenir cuz normalise est vide est-il fonctionner ce

void CVector::normalize() 
{ 
float len=Magnitude(); 
this->x /= len; 
this->y /= len; 
} 

i besoin normaliser rester vide comme tho j'ai essayé la coulée normale comme ce

float n= (float)xAxis[i].Normalize(); 

et il ne fonctionne pas aussi avec la fonte statique, dynamique, réinterpréter, const cast et ne peut pas faire fonctionner toute aide serait vraiment appréciée ... merci>. Une fonction void ne renvoie rien, donc il n'y a rien à assigner à n. <

+0

Qu'est-ce que vous attendez de "n" après votre appel à Normalize()? ;-) Je suppose que vous avez besoin de lire ceci en premier -> http://www.cplusplus.com/doc/tutorial/functions/ – Jujjuru

Répondre

2

Vous devez renvoyer une valeur de normaliser pour l'affecter à n.

float CVector::normalize() 
{ 
float len=Magnitude(); 
this->x /= len; 
this->y /= len; 
return 10.0; 
} 
+0

thats ce que je pensais oh bien im juste en le modifiant pour float ty vm – Makenshi

+0

Si vous êtes juste mise à jour les membres de la classe, vous pouvez être capable de regarder ceux-ci au lieu de retourner quoi que ce soit. – WhirlWind

+0

ouais malheureusement la chose est im modifier une autre classe: S lol ty je pense que ça fonctionne bien comme ça c'était juste moi être ambitieux XD – Makenshi

0

Normalize ne renvoie pas de valeur car il a un type de retour vide. Il change un membre interne. Vous devez donc accéder directement à ce membre ou à un accesseur qui renvoie ce membre.

0

La méthode Normalize() ne renvoie rien, donc vous ne pouvez pas affecter la valeur de retour à une variable. Probablement Normalize() modifie simplement l'objet sur lequel il est appelé.

Questions connexes