Compartir a través de


Error del compilador C2533

'identificador': los constructores no permiten un tipo de valor devuelto

Un constructor no puede tener un tipo de valor devuelto (ni siquiera un tipo de valor devuelto void).

Una causa común de este error es la ausencia de un punto y coma entre el final de una definición de clase y la primera implementación de constructor. El compilador ve la clase como una definición del tipo de valor devuelto para la función de constructor y genera C2533.

El ejemplo siguiente genera el error C2533 y muestra cómo corregirlo:

// C2533.cpp
// compile with: /c
class X {
public:
   X();
};

int X::X() {}   // C2533 - constructor return type not allowed
X::X() {}   // OK - fix by using no return type