1

重複の可能性:
プライベート静的メンバー
の初期化クラス内の非定数静的メンバーまたは静的配列を初期化できないのはなぜですか?

それは私には奇妙です。グローバルスコープに静的フィールドがあると仮定してみませんか?

4

1 に答える 1

5

リンカーがそれを見つけられるように、どこかに(オブジェクトファイル内に)配置する必要があります。.h ファイルに static フィールドを持つクラスの宣言があり、このファイルをいくつかの .cpp ファイルに含めると、あいまいになり、このフィールドにどのオブジェクト ファイルに場所を割り当てる必要があります。

const staticクラス宣言でプリミティブ型フィールドを初期化できることにも注意してください。

class Foo
{
    static const int n = 42;
};
于 2012-06-15T06:56:03.637 に答える