2010-05-19 78 views
1

,我得到它的Cuz正常化是一個void功能這是它鑄造的問題不能從虛空轉換爲浮動C++

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

我需要正常化留爲void儘管我試圖正常鑄造這樣

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

,它不工作也與靜態,動態演員,reinterpret,常規演員陣容,不能讓任何幫助將工作的任何幫助將真正apreciated ... 謝謝>。 <

+0

在你調用Normalize()之後,你期望「n」是什麼? ;-)我想你需要閱讀這第一個 - > http://www.cplusplus.com/doc/tutorial/functions/ – Jujjuru 2010-05-19 01:21:10

回答

2

void函數不會返回任何東西,所以沒有任何東西可以分配給n。

您應該從normalize中返回一些值以將其分配給n。

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

多數民衆贊成在什麼我想哦,我只是修改它浮動TY虛擬現實 – Makenshi 2010-05-19 01:18:03

+0

如果你只是更新班級成員,你可能會看到這些而不是返回任何東西。 – WhirlWind 2010-05-19 01:18:57

+0

是啊,可悲的是,事情是即時修改另一個班級:大聲笑我認爲它工作正常,就像它只是我是雄心勃勃的XD – Makenshi 2010-05-19 01:21:08

0

Normalize不返回值,因爲它有一個void返回類型。它改變了一個內部成員。因此,您必須直接訪問該成員或返回該成員的訪問者。

0

Normalize()方法不返回任何東西,所以你不能將返回值賦給變量。可能Normalize()只是修改它被調用的對象。