Я столкнулся с проблемой в своем коде на С++.
У меня есть союз StateValue
:
union StateValue
{
int intValue;
std::string value;
};
и struct StateItem
struct StateItem
{
LampState state;
StateValue value;
};
У меня есть метод, который проходит через вектор типа StateItem
for(int i = 0; i < stateItems.size(); i++)
{
StateItem &st = stateItems[i];
switch (st.state)
{
case Effect:
result += std::string(", \"effect\": ") + st.value.value;
break;
case Hue:
result += std::string(", \"hue\": ") + st.value.intValue.str();
break;
case On:
result += std::string(", \"on\": ") + std::string(st.value.value);
break;
default:
break;
}
}
В случае Hue
я получаю следующую ошибку компилятора:
Member reference base type 'int' is not a structure or union
Я не могу понять проблему здесь. Может кто-нибудь из вас, пожалуйста, помогите мне?