Błąd kompilatora C2688
"C2::fgrv": kowariantne zwracane z wieloma lub wirtualnymi dziedziczeniami nieobsługiwane w przypadku funkcji varargs
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.
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&
};
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla