Я хотел бы сохранить этот объект Gui как переменная-член в моем классе, но проблема в том, что я пытаюсь ее инициализировать.
Следующее не работает:
.h файл
Код: Выделить всё
class BTGui
{
public:
BTGui();
private:
tgui::Gui m_gui;
};
Код: Выделить всё
BTGui::BTGui()
{
sf::RenderWindow window{sf::VideoMode({1024, 800}), "MyTitle", sf::Style::None};
m_gui = tgui::Gui{window};
}
Объект типа 'tgui::Gui' не может быть назначен, поскольку его оператор присваивания копии неявно удален.
Я пробовал использовать список инициализаторов, например:
Код: Выделить всё
BTGui::BTGui() : m_gui{tgui::Gui{sf::RenderWindow{sf::VideoMode({1024, 800}), "MyTitle", sf::Style::None}}} {}
ошибка C2440: '': невозможно преобразовать из «списка инициализаторов» в «tgui::SFML_GRAPHICS::Gui»
и
примечание: Причина: невозможно преобразовать из от 'sf::RenderWindow' до 'const tgui::SFML_GRAPHICS::Gui'
Если бы это была простая переменная, я бы просто использовал список инициализаторов , но мне также нужно создать объект окна, и давайте предположим, что размер окна был задан пользователем.
Каков «лучший» способ сделать это?
Под «наилучшим» я подразумеваю простой способ, который будет работать и для нескольких переменных.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ables-in-c
Мобильная версия