Compartilhar via


Erro do compilador C2688

'C2::fgrv' : covariante retorna com herança múltipla ou virtual sem suporte para funções varargs

Não há suporte para tipos de retorno covariantes no Visual C++ quando uma função contém argumentos variáveis.

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

O seguinte exemplo gera o erro 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&
};