C++ 还很新,所以请多关照。让 str8 进入正题:
首先是 Actor 类:
class Actor
{
vec3 location;
vec3 rotation;
}
然后是相机类:
class Camera: public Actor
{
float fov;
}
最后是 Controller 类:
class Controller
{
Actor* pawnActor;
void setPawnActor(Actor* actor);
}
现在问题...
考虑到相机来自 Actor ,我尝试了类似...
controller.setPawnActor(camera);
...但是...编译器说:不存在从“Camera”到“Actor *”的合适转换函数。
我当然可以使用:void setPawnActor(Camera* camera);
但对我来说,为每个可能成为“PawnActor”的可能 Actor 创建一个函数似乎毫无意义。有什么想法吗???
我又是整个 C++ 的新手,所以...
感谢大家抽空。
最佳答案
如果 camera 只是一个对象,则将其作为 &camera 传递,因为该函数需要一个指针而不是一个对象。
关于c++ 没有合适的从 "Camera"到 "Actor *"的转换函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29394372/