Ich weiß, ich muss ein statisches Klassenmitglied außerhalb der Klasse im globalen Bereich/Namespace definieren, sonst wird der Compiler über fehlende Symbole beschweren. So im folgenden kann ich nicht verwalten die innere Struktur zu definieren:Wo definiere ich ein inneres statisches Strukturobjekt? Es scheint, ich kann nicht
struct MyStruct
{
struct MyInnerStruct
{
int notimportant1, notimportant2;
};
static MyInnerStruct object1;
};
int main(void)
{
MyStruct foo;
foo.object1.notimportant1 = 5; // Unresolved external symbol, I expected this to happen
return 0;
}
MyInnerStruct MyStruct::object1; // Typical definition of a static member
// MyInnerStruct is underlined, saying it's undefined
ich auch eine Vorwärts-Erklärung darüber versucht, aber es sagte etwas über Neudefinition. Eigentlich habe ich mich auch gefragt, dies muss jeden
nur hinzuzufügen, scheint wie "ungelöst externes Symbol" hat damit nichts zu tun und ist ein separates Problem –