Передать класс в конструкторе

155
03 октября 2017, 06:08

Есть конструктор WindowMgmt как присвоить полю window первый аргумент

#include <SFML/Graphics.hpp>
#pragma once
using namespace sf;
class WindowMgmt
{
public:
    RenderWindow window;
    WindowMgmt(RenderWindow &windowarg) {
            window = windowarg;
    };
    void closeOnEvent(){
        Event event;
        while (window.pollEvent(event))
        {
            if (event.type == Event::Closed)
                window.close();
        }
    }
    ~WindowMgmt(void);
};

Создаю экземпляр так

WindowMgmt win(RenderWindow (VideoMode(200, 200), "Super Mario"));
Answer 1

Брать ссылку от временной величины нельзя...

Так не хотите?

WindowMgmt(const RenderWindow &windowarg):window(windowarg){};

Update
Увы, я не знаю, что из себя представляет класс RenderWindow. Если он не копируется, то его передавать нельзя - создавайте его прямо в классе:

WindowMgmt(...Ваши параметры...)
:window(...Ваши параметры...) {}

т.е. вызывайте как

WindowMgmt win(VideoMode(200, 200), "Super Mario");
READ ALSO
Удваивание вывода при простом парсинге csv в C++

Удваивание вывода при простом парсинге csv в C++

Я написал этот код, и я не могу понять, почему он удваивает строку, когда я компилирую и запускаю ее

157
Проблемы с GCC в MinGW

Проблемы с GCC в MinGW

gcc: installation problem, cannot exec `cc1': No such file or directory

195
Как обратиться к #include &ldquo;..&rdquo; уровнем выше?

Как обратиться к #include “..” уровнем выше?

Наверно, я туплюУ меня есть файл "stdafx

214
fatal error C1010 в Visual Studio - как правильно решить?

fatal error C1010 в Visual Studio - как правильно решить?

Мне прям неловко, что задаю такие вопросыЕсть "дерево":

300