Partilhar via


Erro do compilador C2688

'C2::fgrv' : retornos covariantes com herança múltipla ou virtual não suportada para funções varargs

Observações

Tipos de retorno covariantes não são suportados no Visual C++ quando uma função contém argumentos de variável.

Para resolver esse erro, defina suas funções para que elas não usem argumentos variáveis ou torne os valores de retorno iguais para todas as funções virtuais.

Exemplo

O exemplo a seguir gera 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&
};