C ++构造函数问题。无法使用任何默认构造函数

时间:2016-02-16 21:30:19

标签: c++ visual-c++

我正在开发一款游戏,创建一个基本的模型 - 视图 - 控制器设置。 我试图创建三个变量,一个模型,一个带有指向模型的指针的视图和一个带有指向模型和视图的指针的控制器。但是我收到一个错误,说View(Model *)的构造函数已被隐式声明,因为它已被删除而无法引用。 我尝试过很多东西,但尚未找到解决方法。任何帮助将不胜感激!以下是所有相关代码,我可以包含其他任何要求的内容!

     From Game.h:
    #include "Controller.h"
    #include "Model.h"
    #include "Views.h"

    class Game
    {
    public:
        Game();
        ~Game();

        int launch();

        Controller contrl;
        Model model;
        Views view;
    };



     From Game.cpp
        Game::Game()
        {
            model = Model();
            view = Views(&model); // <- gives error
            contrl = Controller(&model, &view);

        }

Views.h:
#include <SFML\Graphics.hpp>
#include "Model.h"

    class Views
    {

    public:
        Views();
        Views(Model*);
        ~Views();

        int render();

        sf::RenderWindow window;
        Model* model;

    };

    Views.cpp:
    Views::Views()
    {

    }

    Views::Views(Model* m) {
        model = m;
    }

    Views::~Views()
    {
    }

0 个答案:

没有答案