我的程序没有编译错误
MenuModel :: MenuModel(const MenuModel&):无法将参数1从MenuController * const转换为const MenuModel&
我使用this
类的MenuController
调用构造函数,这是MenuController *
的预期,但构造函数,即使它声明采用MenuController指针,也需要自己的参考。
以下是我班级的代码
AbstractModel::AbstractModel(AbstractController * controller) {
std::cout << "AbstractModel constructor called" << std::endl;
this->controller = controller;
objects = new GameObject*[GAME_HEIGHT * GAME_WIDTH];
for (int i = 0; i < GAME_HEIGHT * GAME_WIDTH; i++) {
objects[i] = nullptr;
}
}
MenuModel::MenuModel(MenuController * menuController) : AbstractModel(menuController) {
}
MenuController::MenuController() {
model = new MenuModel(this);
}
我尝试使构造函数采用const指针,因为这是错误消息所说的传递,并且MenuModel
类可能默认为复制构造函数,但这不起作用。
任何人都知道为什么会发生这种情况以及如何解决这个问题?