Aviso do compilador (nível 1) C4620
nenhuma forma pós-fixada de 'operator ++' encontrada para tipo 'type', usando forma de prefixo
Não há nenhum operador de incremento de pós fixo definido para o tipo determinado. O compilador usou o operador de prefixo sobrecarregado.
Esse aviso pode ser evitado definindo um operador de sufixo ++
. Crie uma versão de dois argumentos do operador ++
, conforme mostrado aqui:
// C4620.cpp
// compile with: /W1
class A
{
public:
A(int nData) : m_nData(nData)
{
}
A operator++()
{
m_nData -= 1;
return *this;
}
// A operator++(int)
// {
// A tmp = *this;
// m_nData -= 1;
// return tmp;
// }
private:
int m_nData;
};
int main()
{
A a(10);
++a;
a++; // C4620
}