與C++相當新,所以請溫和。獲取STR8的一點是:C++沒有合適的從「Camera」到「Actor *」的轉換功能
首先演員類:
class Actor
{
vec3 location;
vec3 rotation;
}
然後相機類:
class Camera: public Actor
{
float fov;
}
最後控制器類:
class Controller
{
Actor* pawnActor;
void setPawnActor(Actor* actor);
}
現在的問題...
考慮到相機的演員派生我想是這樣......
controller.setPawnActor(camera);
......但是編譯器說:從「照相機」沒有合適的轉換功能,以「演員*」的存在。 當然,我可以使用:void setPawnActor(Camera* camera);
,但對於可能成爲'PawnActor'的每個可能演員創建一個函數似乎毫無意義。有任何想法嗎???
再次聲明,我新來的整個C++的事情,所以......
感謝您的時間大家。
您需要通過AA變量,它是一個'相機*'不是'Camera' – NathanOliver 2015-04-01 15:09:50
'從「攝像機」,以「演員*'你傳遞一個對象或指針? – 2015-04-01 15:10:28