d1 4作品,但4 d1甚至不能将4隐含地转换为GMan.为什么他们不等同?
struct GMan { int a,b; GMan() : a(),b() {} GMan(int _a) : a(_a),b() {} GMan(int _a,int _b) : a(_a),b(_b) {} GMan operator +(const GMan& _b) { GMan d; d.a = this->a + _b.a; d.b = this->b + _b.b; return d; } }; int main() { GMan d1(1,2),d(2); GMan d3; d3 = d1 + 4; d3 = 4 + d1; }