コンパイラ エラー 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
を削除するか、早期の戻り値が必要な場合は return 式を省略することで修正できます。