Член "..."-это не тип, конструктор-определение (в .cpp) не принимает struct в качестве входной переменной [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Член "..."-это не тип, конструктор-определение (в .cpp) не принимает struct в качестве входной переменной [закрыто]

Сообщение Anonymous »

Я пытаюсь написать какой-то Code (для целей обучения), и я получаю эту ошибку, которую я не могу найти исправление.

Код: Выделить всё

#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)
};
in uilement.cpp У меня есть этот код:

Код: Выделить всё

#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_variable. Помощь.

Подробнее здесь: https://stackoverflow.com/questions/796 ... t-take-str
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»