class Obj
{
public:
Obj(int a, int b)
{
_a = a;
_b = b;
}
Obj(int a)
{
_a = a;
}
//explicit Obj(int a)
//{
// _a = a;
//}
private:
int _a;
int _b;
};
void fun(Obj o)
{
}
int main()
{
Obj oo = { 12 };//Obj{12}
Obj o = (12, 13);
fun(12);//此时12被隐式转换成Obj对象, 构造函数前加上explicit, 不存在该问题
return 0;
}