递增运算符重载编译成功,换成递减符号就失败了是为什么(语言-c++)

递减运算符重载
#include

using namespace std;

class myint{

friend ostream& operator<<(ostream &cout,myint &m);
friend myint operator--(myint &m1);

public:
myint(int num){
m_num=num;
}

myint& operator--(){
    m_num--;
    return *this;
}

private:
int m_num;
};

ostream& operator<<(ostream &cout,myint &m){
cout<<m.m_num<<endl;
return cout;
}

void test01(){
myint m1(10);
cout<< (--m1) <<endl;
}

int main(){

test01(); 
system("pause");
return 0;

}

编译时报错32 10 C:\Users\1757640\Desktop\C\heimachengxuyuan\20220305dizengyunsuanfuchongzai.cpp [Error] ambiguous overload for 'operator--' (operand type is 'myint')
--换成++可以编译成功
friend myint operator--(myint &m1);
去掉这一行