컴파일러 오류 C2477

업데이트: 2007년 11월

오류 메시지

'member' : 정적 데이터 멤버는 파생 클래스를 통해 초기화할 수 없습니다.
'member' : static data member cannot be initialized via derived class

템플릿 클래스의 정적 데이터 멤버가 잘못 초기화되었습니다. 이는 ISO C++ 표준과의 호환을 위해 Visual C++ .NET 2003 이전 버전의 Visual C++ 컴파일러에 이루어진 주요 변경 내용입니다.

자세한 내용은 컴파일 타임의 주요 변경 내용 요약을 참조하십시오.

다음 샘플에서는 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;