c ++没有合适的转换功能来自"相机"到"演员*"

时间:2015-04-01 15:07:02

标签: c++ class inheritance reference

c ++相当新,请温柔。让str8达到目的:

首先是演员类:

class Actor
{
vec3 location;
vec3 rotation;
}

然后是相机类:

class Camera: public Actor
{
float fov;
}

最后是控制器类:

class Controller
{
Actor* pawnActor;
void setPawnActor(Actor* actor);
}

现在问题......

考虑到相机来自演员我尝试了类似......

controller.setPawnActor(camera);

...但......编译器说:从“Camera”到“Actor *”都没有合适的转换功能。 当然我可以使用:void setPawnActor(Camera* camera);但是我为每个可能成为'PawnActor'的可能actor创建一个函数似乎没有意义。任何想法???

我再次对整个c ++事情不熟悉......

感谢大家的时间。

1 个答案:

答案 0 :(得分:1)

如果相机只是一个物体,则将其作为&相机传递,因为该功能期望指针不是物体。