Share via


컴파일러 오류 C2688

'C2::fgrv' : varargs 함수에 대해 지원되지 않는 여러 가상 상속이 있는 공변성 반환

함수에 변수 인수가 포함된 경우 공변 반환 형식은 Visual C++에서 지원되지 않습니다.

이 오류를 해결하려면 변수 인수를 사용하지 않도록 함수를 정의하거나 모든 가상 함수에 대해 반환 값을 동일하게 만듭니다.

다음 샘플에서는 C2688을 생성합니다.

// C2688.cpp
struct G1 {};
struct G2 {};
struct G3 : G1, G2 {};
struct G4 {};
struct G5 {};
struct G6 : G4, G5 {};
struct G7 : G3, G6 {};

struct C1 {
   virtual G4& fgrv(int,...);
};

struct C2 : C1 {
   virtual G7& fgrv(int,...);   // C2688, does not return G4&
};