类类型的隐式转换问题!
编译器是Codeblocks
- C/C++ code
#include <iostream>#include <string>using namespace std;class ConstructorTest{ public: ConstructorTest(int ival=5):ival(ival){ } bool equals(ConstructorTest ival){ if(3==ival){ //这里出现问题,说没有3==ival里的==操作符!! return true; } else{ return false; } } private: int ival;};int main(){ bool flags=false; ConstructorTest ct(3); flags=ct.equals(4); cout<<flags<<endl; return 0;}
我想问的是:这个程序为什么不能隐式转换!
[解决办法]
if(3==ival.ival) return true;