explicit A(int n);会防止一切隐形调用,只能显式调用如A a(20);这不是什么错误,是explicit关键字的作用A b = 20;看起来是operator=实际上却是构造,因为是从无到有的过程A b;b = 20;则是operator=
去掉 explicit 后我用VC6测试,运行没有问题,可以通过!