我有一个关于前向声明的小问题。我在一个文件中有以下课程
机器人.h
class Robot
{
public:
void moveForward()
private:
}
在 Robot.cpp 文件中实现
我有一个 UserReceiver.h 类,它定义了用户与机器人等交互的接口......这个类用鼠标管理相机,我加载了 Robot 类的一个实例,以便可以与之交互
用户接收器.h
class Robot;
class UserReceiver
{
public:
void LoadRobot(Robot* _robot) { robot = _robot; }
bool onEvent()
{
etc...
// Calling robot->moveForward() when clicking something
}
private:
Robot* robot;
}
如果需要,我可以给出完整的代码(我使用的 3D 引擎是 Irrlicht)。我的问题是如何转发声明与 Robot 类关联的方法?围绕这个问题有一个好的设计模式吗?
我得到的错误是(在程序调用机器人-> moveForward()的那一行):
error C2227: left of '->moveForward' must point to class/struct/union/generic type
非常感谢你的帮助
此致