operator ==()永远循环

MEM*_*EMS -1 operators c++11

看到这个非常简单的代码:

struct A
 {   
     bool operator ==(const int &t)
     {
         return *this == t;
     }
 };
void main()
{
    A p;
    p == 2;// this code loops for ever!!! 
}
Run Code Online (Sandbox Code Playgroud)

剂量任何人都知道为什么代码循环永远?!实际上,运算符==()递归调用自身!
非常感谢

the*_*ang 5

问问自己这个.

什么是*this?是的struct A.

那是什么*this == t?它基本上A::operator==()与参数t有关.

你正在调用相同的功能.