C++ 重载自增运算符报错


#include 

using namespace std;

class MyInter
{
    friend ostream& operator<<(ostream& cout, MyInter& p);

public:
    MyInter()
    {
        m_Num = 0;
    }
public:
    //重载前置++运算符
    MyInter& operator++()
    {
        m_Num++;
        return *this;
    }
    //重载后置++运算符

private:
    int m_Num;
};

ostream& operator<<(ostream& cout, MyInter& p)
{
    cout << p.m_Num;
    return cout;
}


int main()
{
    MyInter p;
    p++;
    cout << p << endl;
    system("pause");
    return 0;
}

为什么重载自增运算符编译器会报错,我对照了别人的代码看了好久都没发现我的问题在哪

img


MyInt operator++(int  n)
{
   MyInt tmp;
  tmp.m_Num=this-> m_Num++;
  return tmp;
  
   
}