コンパイラ エラー C2534
'identifier': コンストラクターは値を返せません
コンストラクターには、式を含む return
ステートメントを含めることはできません (式に型 void
がある場合でも)。 これは、 void
型の戻り値式が許可される通常の void 戻り関数とは異なります。 ただし、式なしで return
ステートメントを使用することは、コンストラクターの早期戻り値に対して許可されます。
次の例では 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
}
};
上記のエラーは、 return
ステートメント全体を削除するか、早期の戻り値が必要な場合は戻り式を省略することで修正できます。