【发布时间】:2015-04-01 15:07:02
【问题描述】:
C++ 相当新,所以请温柔一点。直奔主题:
首先是actor类:
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”的演员创建一个函数似乎毫无意义。有什么想法???
我再次对整个 c++ 事物不熟悉,所以...
感谢大家的宝贵时间。
【问题讨论】:
-
你需要传递一个
Camera *而不是Camera的变量 -
from "Camera" to "Actor *你传递的是对象还是指针?
标签: c++ class inheritance reference