コンパイラ エラー C2477

更新 : 2007 年 11 月

エラー メッセージ

'member' : 静的データ メンバは、派生クラスを使って初期化できません。

テンプレート クラスの静的データ メンバが正しく初期化されていません。これは、ISO C++ 標準に準拠するための、Visual Studio .NET 2003 より前のバージョンの Visual C++ コンパイラでの互換性に影響する変更点です。

詳細については、「Summary of Compile-Time Breaking Changes」を参照してください。

次の例では C2477 エラーが生成されます。

// C2477.cpp
// compile with: /Za /c
template <class T>
struct S {
   static int n;
};

struct X {};
struct A: S<X> {};

int A::n = 0;   // C2477

template<>
int S<X>::n = 0;