Avviso del compilatore (livello 1) C4621
nessuna forma di prefisso 'operator --' trovato per il tipo 'type', utilizzando il formato prefisso
Non è stato definito alcun operatore di decremento suffisso per il tipo specificato. Il compilatore ha usato l'operatore prefisso di overload.
Questo avviso può essere evitato definendo un operatore --
suffisso. Creare una versione a due argomenti dell'operatore --
, come illustrato di seguito:
// C4621.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--; // C4621
}