다음을 통해 공유


컴파일러 경고(수준 1) C4526

'function': 정적 멤버 함수는 가상 함수 '가상 함수'를 재정의할 수 없습니다. 무시되고 가상 함수는 숨겨집니다.

정적 멤버 함수는 가상 함수를 재정의하는 조건을 충족하여 멤버 함수를 가상 함수와 정적 함수로 만듭니다.

다음 코드는 C4526을 생성합니다.

// C4526.cpp
// compile with: /W1 /c
// C4526 expected
struct myStruct1 {
   virtual void __stdcall func( int ) = 0;
};

struct myStruct2: public myStruct1 {
   static void __stdcall func( int );
};

다음은 가능한 수정 사항입니다.

  • 함수가 기본 클래스 가상 함수를 재정의하도록 의도된 경우 정적 지정자를 제거합니다.

  • 함수가 정적 멤버 함수로 의도된 경우 기본 클래스 가상 함수와 충돌하지 않도록 이름을 바꿉니다.