Skip to content

Latest commit

 

History

History
50 lines (42 loc) · 972 Bytes

compiler-warning-level-1-c4621.md

File metadata and controls

50 lines (42 loc) · 972 Bytes
description title ms.date f1_keywords helpviewer_keywords ms.assetid
Learn more about: Compiler Warning (level 1) C4621
Compiler Warning (level 1) C4621
11/04/2016
C4621
C4621
40931bd9-cb89-497e-86f0-cec9f016c63c

Compiler Warning (level 1) C4621

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

There was no postfix decrement operator defined for the given type. The compiler used the overloaded prefix operator.

This warning can be avoided by defining a postfix -- operator. Create a two-argument version of the -- operator as shown below:

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