Błąd kompilatora C2534
"identifier": konstruktor nie może zwrócić wartości
Konstruktor nie może zawierać instrukcji z wyrażeniem return
(nawet jeśli wyrażenie ma typ void
). Różni się to od regularnej funkcji zwracanej przez pustkę, w której dozwolone jest wyrażenie zwracane typu void
. Jednak użycie instrukcji return
bez wyrażenia jest dozwolone dla wczesnych zwrotów w konstruktorze.
Poniższy przykład generuje C2534:
// C2534.cpp
// compile with: /c
void void_func() {}
class A {
public:
int i;
A() {
return i; // C2534
return 123; // C2534
return (void)0; // C2534
return void_func(); // C2534
return; // OK
}
};
Powyższe błędy mogą zostać naprawione przez usunięcie całej return
instrukcji lub pominięcie wyrażenia zwracanego, jeśli jest wymagany wczesny zwrot.
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