class B
{
public:
explicit B(int x= 0,bool b = true);
}
void doSomething(B obj) B obj; doSomething(obj) //没有问题 doSomething(28) //有问题,doSomething入参应该是B类类型,不是int类型,从int类型到B类型之前的隐式转换被禁止; doSomething(B(28)) //没有问题,使用B构造函数将int显示转换为一个B类型
class B
{
public:
explicit B(int x= 0,bool b = true);
}
void doSomething(B obj) B obj; doSomething(obj) //没有问题 doSomething(28) //有问题,doSomething入参应该是B类类型,不是int类型,从int类型到B类型之前的隐式转换被禁止; doSomething(B(28)) //没有问题,使用B构造函数将int显示转换为一个B类型