Sdílet prostřednictvím


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.