Compilerfehler C2534
'Identifier': Der Konstruktor kann keinen Wert zurückgeben.
Ein Konstruktor kann keine return
Anweisung mit einem Ausdruck enthalten (auch wenn der Ausdruck Typ void
hat). Dies unterscheidet sich von der regulären Funktion für die Rückgabe von Void-Returning, bei der ein Rückgabeausdruck vom Typ void
zulässig ist. Die Verwendung der return
Anweisung ohne ausdruck ist jedoch für frühe Rückgaben im Konstruktor zulässig.
Im folgenden Beispiel wird C2534 generiert:
// 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
}
};
Die vorherigen Fehler können behoben werden, indem die gesamte return
Anweisung entfernt oder der Rückgabeausdruck weggelassen wird, wenn eine frühe Rückgabe gewünscht wird.