Bagikan melalui


Compiler Warning (level 1) C4621

no postfix form of 'operator --' found for type 'type', using prefix form

Tidak ada operator penurunan postfix yang ditentukan untuk jenis yang diberikan. Pengkompilasi menggunakan operator awalan yang kelebihan beban.

Peringatan ini dapat dihindari dengan menentukan operator postfix -- . Buat versi dua argumen operator seperti yang ditunjukkan -- di bawah ini:

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