Ich stoße auf ein Problem in meinem C ++ Code.
Ich habe eine Union StateValue
:
und eine Struktur StateItem
Ich habe eine Methode, die einen Vektor vom Typ StateItem
Im Fall Hue
bekomme ich den folgenden Compilerfehler:
Ich kann das Problem hier nicht verstehen. Kann jemand von euch mir bitte helfen?
Sie versuchen, eine Memberfunktion für intValue
aufzurufen, die den Typ int
hat. int
ist kein Klassentyp, also keine Elementfunktionen.
In C ++ 11 oder höher gibt es eine praktische Funktion std::to_string
, um int
und andere integrierte Typen in std::string
:
Früher mussten Sie mit String-Streams umgehen:
%Vor% Member reference base type 'int' is not a structure or union
int
ist ein primitiver Typ, er hat weder Methoden noch Eigenschaften.
Sie rufen str()
für eine Membervariable vom Typ int
auf, und darüber beschwert sich der Compiler.
Ganzzahlen können nicht implizit in Zeichenketten umgewandelt werden, aber Sie können std::to_string()
in C ++ 11, lexical_cast
von boost
oder den alt-langsamen Ansatz von stringstream
verwenden.
oder
%Vor%Und ändern Sie die Zeile zu:
%Vor%Tags und Links c++