C++ C++;,看起来调用了错误的构造函数(常量引用参数)

C++ C++;,看起来调用了错误的构造函数(常量引用参数),c++,constructor,C++,Constructor,我的程序没有编译错误 MenuModel::MenuModel(const MenuModel&):无法将参数1从MenuController*const转换为const MenuModel& 我使用MenuController类的this调用构造函数,该类是MenuController*,正如预期的那样,但是构造函数,即使其声明为使用MenuController指针,也需要自身的引用 这是我的类中的代码 AbstractModel::AbstractModel(AbstractControll

我的程序没有编译错误

MenuModel::MenuModel(const MenuModel&):无法将参数1从MenuController*const转换为const MenuModel&

我使用
MenuController
类的
this
调用构造函数,该类是
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);
}
AbstractModel::AbstractModel(AbstractController*controller){

std::cout是
model
指针类型?如果不是,试试
model=MenuModel(这个);
是的,模型被声明为AbstractModel*model;OT,但是你可以做
新的GameObject*[x]();
(使用向量会更好)希望你能试试这个:
MenuModel::MenuModel(const MenuController*const MenuController)
您使用的编译器是什么?GCC 6.3编译这个GCC 4.3.2也做得很好