我有得到由node2D
繼承了基類(node
),用於獲取由CSprite2D
繼承(我正在遊戲引擎)返回指針到繼承的類C++
我有指針到一個向量我的對象從NODE繼承。
在我的功能CNode* getNodeByName(QString name)
我返回CNode,但我不能做
CSprite2D* sprite = getNodeByName("hello")
這是爲什麼,什麼可能是一個解決方法嗎?我已經嘗試過它返回一個CSprite2D,它的工作就像一個魅力。 我已經試圖宣佈我的功能爲virtual CNode* getNodeByName(Qstring name)
PS:我使用Qt,如果有關係。而且,我是C++的新手,所以我可以監督一些事情。
你可以投你CNode *至* CSprite2D如果您確定它的類型是CSpirite2D的*參見http://www.cplusplus.com/doc/tutorial/typecasting/有關轉換和不同類型的更多信息演員。 – basslo
'CNode'和'CSprite2D'之間的關係是什麼? – Peter
CSprite2D由CNode2D繼承,CNode2D繼承自CNode。 @Peter – ThefrenchSpeedruns