次の方法で共有


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