Chyba kompilátoru C2534
Identifikátor: konstruktor nemůže vrátit hodnotu.
Konstruktor nemůže obsahovat return
příkaz s výrazem (i když má výraz typ void
). To se liší od běžné void-returning funkce, kde je povolen návratový výraz typu void
. Použití příkazu bez výrazu return
je však povoleno pro předčasné návraty v konstruktoru.
Následující ukázka vygeneruje 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
}
};
Předchozí chyby můžou být opraveny odebráním celého return
příkazu nebo vynecháním návratového výrazu, pokud je žádoucí počáteční návrat.