Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
"C2::fgrv": kowariantne zwracane z wieloma lub wirtualnymi dziedziczeniami nieobsługiwane w przypadku funkcji varargs
Uwagi
Kowariantne typy zwracane nie są obsługiwane w języku Visual C++, gdy funkcja zawiera argumenty zmiennych.
Aby rozwiązać ten błąd, zdefiniuj funkcje tak, aby nie używały argumentów zmiennych lub zwracały wartości takie same dla wszystkich funkcji wirtualnych.
Przykład
Poniższy przykład generuje kod 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&
};