Erro do compilador C2533
'identifier' : construtores não permitem um tipo de retorno
Um construtor não pode ter um tipo de retorno (nem mesmo um tipo de retorno void
).
Uma fonte comum desse erro é um ponto e vírgula ausente entre o final de uma definição de classe e a primeira implementação do construtor. O compilador vê a classe como uma definição do tipo de retorno para a função de construtor e gera C2533.
O seguinte exemplo gera o erro C2533 e mostra como corrigi-lo:
// 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