C ++,看起来像是被调用的错误构造函数(const引用参数)

时间:2017-04-03 03:41:31

标签: c++ constructor

我的程序没有编译错误

  

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类可能默认为复制构造函数,但这不起作用。

任何人都知道为什么会发生这种情况以及如何解决这个问题?

0 个答案:

没有答案
相关问题