我希望能夠傳遞3個值到一個對象,然後存儲在一個名爲Vector3f的類中。 Vector3f有x,y,z值;將值傳遞到Vector3f
即:
Object(Vector3f Position); //Class constructor
Object myObject(0,10,20); //Declare object
這是正確的?
或者我必須做的:
Vector3f vect(0,10,20);
Object myObject(vect);
任何幫助嗎?
我希望能夠傳遞3個值到一個對象,然後存儲在一個名爲Vector3f的類中。 Vector3f有x,y,z值;將值傳遞到Vector3f
即:
Object(Vector3f Position); //Class constructor
Object myObject(0,10,20); //Declare object
這是正確的?
或者我必須做的:
Vector3f vect(0,10,20);
Object myObject(vect);
任何幫助嗎?
如果構造函數採用單個Vector3f
參數,則必須傳遞一個單一的Vector3f
對象,並且三個浮點數不起作用。但是,你可以寫在一行:
Object myObject(Vector3f(0, 10, 20));
你也可以聲明,接受三個浮動,而不是額外的構造函數。
沒有額外的信息,你應該做的是你的第二個辦法:
Vector3f vect(0,10,20);
Object myObject(vect);
或者
Vector3f myObject(vect(0,10,20));
這將首先創建的Vector3f
一個對象,然後把它作爲參數來Object
類的構造函數,以Vector3f
爲參數。
第二個因爲多個參數構造函數不能是隱式轉換的
雖然與C++11
可以做Object myObject({0, 10, 20});
或'對象myObject的({0,10,20})'均勻初始化FTW。 – mfontanini 2013-04-20 15:44:26
@mfontanini在支持它的編譯器中。 – Angew 2013-04-20 15:44:54
當然,傻我!謝謝:D – Split 2013-04-20 15:45:13