次の方法で共有


コンパイラ エラー C2688

'C2::fgrv' : covariant は varargs 関数でサポートされていない複数の、または仮想継承を返します。

Visual C++ では、関数に可変個の引数が含まれている場合、Covariant 型の戻り値はサポートされません。

このエラーを解決するには、可変個の引数を使用しないように関数を定義するか、またはすべての仮想関数の戻り型を同じにします。

次の例では警告 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&
};