Compartilhar via


Aviso do compilador (nível 1) C4621

nenhuma forma pós-fixada de 'operator --' encontrado para o tipo 'type', usando a forma pré-fixada

Não havia nenhum operador de decremento de sufixo definido para o tipo fornecido. 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 abaixo:

// 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
}