Код: Выделить всё
#pragma once
#include
#include
#include
#include
class UIElement
{
public:
struct UIState {
bool enabled = false;
bool visible = false;
};
UIElement(
uint16_t UIID_in,
UIState UIState_in,
glm::ivec2 UIPos_in,
glm::ivec2 UISize_in,
uint16_t UILayer_in,
void* UIAnimation_in);
~UIElement();
bool importFromXML();
bool onHover();
bool onClick();
virtual std::string getUIType();
void scale();
void render();
uint16_t UIID;
UIState UIState;
glm::ivec2 UIPosition;
glm::ivec2 UISize;
uint16_t UILayer;
std::vector animation; // (normal, disabled, hover, click)
};
Код: Выделить всё
#include "UIElement.h"
#include
UIElement::UIElement(uint16_t UIID_in, UIElement::UIState UIState_in, glm::ivec2 UIPos_in, glm::ivec2 UISize_in, uint16_t UILayer_in, void* UIAnimation_in)
{
}
UIElement::~UIElement()
{
}
bool UIElement::importFromXML()
{
return false;
}
bool UIElement::onHover()
{
return false;
}
bool UIElement::onClick()
{
return false;
}
std::string UIElement::getUIType()
{
throw std::logic_error(std::string("[UI] Virtual UI-Element with ID: " + this->UIID));
return std::string("Virtual UIType");
}
void UIElement::scale()
{
}
void UIElement::render()
{
if (this->UIState.visible == true)
{
// Render
}
}
< /code>
Ошибка возникает внутри файла .cpp внутри определения конструктора.
Я не знаю, что я делаю неправильно. У меня никогда не было такой проблемы. (Также подозрительно заключается в том, что я получаю синтаксисерр C2061 Я ожидал, что конструктор возьмет uistate uistate_in в качестве типа для in_variable. Ошибки, которые либо in_variable, либо сам конструктор.E0493< /code> Нет экземпляра перегруженной функции "uilement :: uilement" соответствует данному типу аргумента
E0757< /code> "member" uilement :: uistate "" не является типноменем
C2061< /code> SyntaxError: тип "uistate"
C2511< /code> uelement :: uilement (uint16_t): перегруженная функция члена, не найденная в «uilement»
glm.hpp: взято из заголовка: /// @brief ядро Glm, который точно реализует и только спецификация GLS ошибка.
to Jamit: исправить это
Подробнее здесь: https://stackoverflow.com/questions/796 ... t-take-str
Мобильная версия