コンパイラ エラー 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;