C++のクラス定義の時点で不完全な型の静的フィールドを宣言していますか?たとえば:不完全な型の静的フィールド - それは合法ですか?
がfoo.h:
class Foo
{
public:
// ...
private:
class Bar;
static Bar something;
};
Foo.cpp:
class Foo::Bar
{
// ...
};
Foo::Bar Foo::something;
// some more code
コンパイラはそれを受け入れているようだ、と私はそれがあるべき理由が表示されませんそのような状況については、標準は何を言いますか?私は本当に誰かが標準から、おそらくは "古い"もの(2003年のもの)から直接引用を与えることに感謝します。
である。だから私は「私はそれが拒否されるべき理由はない」と言ったのです。私はあなたが書いたことを知っていますが、標準が何らかの理由でそのようなコードを禁止していないかどうかは分かりませんでした(それはC++だから、決して確信できません)。さらに、私はここで最初の質問をしなければならなかった;) – Fanael