0
私はグローバルスコープ/名前空間のクラスの外で静的なクラスメンバを定義しなければならないことを知っている。そうでなければ、コンパイラはシンボルの欠落を訴えるだろう。そこで、以下では、私は、内部構造体を定義するために管理することはできません。内部構造体静的オブジェクトはどこで定義しますか?私はできないようだ
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
を私もそれ以上の前方宣言を試してみましたが、それは再定義について何かを言いました。実際に私はすべてを再定義しなければならないことも疑問に思っていました
追加するだけで、「未解決の外部シンボル」のように見えますが、これとは関係がなく、別の問題です –