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 ++事情不熟悉......
感谢大家的时间。
答案 0 :(得分:1)
如果相机只是一个物体,则将其作为&相机传递,因为该功能期望指针不是物体。