Partilhar via


Erro do compilador C2534

'identifier' : construtor não pode retornar um valor

Observações

Um construtor não pode conter uma return instrução com uma expressão (mesmo que a expressão tenha o tipo void). Isso difere da função regular de retorno de vazio, onde uma expressão de retorno do tipo void é permitida. No entanto, usar a instrução return sem uma expressão é permitido para retornos precoces no construtor.

Example

O exemplo a seguir gera 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
   }
};

Os erros anteriores podem ser corrigidos removendo a instrução inteira return ou omitindo a expressão return se um retorno antecipado for desejado.