Проблема приведения не может конвертировать из void в float C ++ - PullRequest
1 голос
/ 19 мая 2010

как я сказал, я получаю эту ужасную ошибку, я действительно не знаю, что делать дальше

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

вот где я получаю ошибку и получаю ее, потому что нормализовать - это пустая функция, вот и все

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

Мне нужно нормализоваться, чтобы остаться недействительным, хотя я пробовал нормальный кастинг вот так

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

и он не работает также со статическим, динамическим приведением, переинтерпретацией, константным приведением и не может заставить это работать, любая помощь будет действительно оценена ... спасибо>. <</p>

Ответы [ 3 ]

2 голосов
/ 19 мая 2010

Функция void ничего не возвращает, поэтому присваивать ей нечего.

Вы должны вернуть некоторое значение из normalize, чтобы присвоить его n.

float CVector::normalize()
{
 float len=Magnitude();
 this->x /= len;
 this->y /= len;
 return 10.0;
}
0 голосов
/ 19 мая 2010

Метод Normalize() ничего не возвращает, поэтому вы не можете присвоить возвращаемое значение переменной. Вероятно, Normalize() просто изменяет объект, к которому он вызывается.

0 голосов
/ 19 мая 2010

Normalize не возвращает значение, поскольку имеет тип возврата void. Это меняет внутреннего члена. Таким образом, вы должны получить доступ к этому члену напрямую или к средству доступа, которое возвращает этого члена.

...