Tar*_*aru 4 c++ constructor explicit
我有一个有2个构造函数的类.
explicit MyClass(size_t num);
template<class T> MyClass(T myObj);
Run Code Online (Sandbox Code Playgroud)
每当我做的时候我都想要
MyClass obj( 30 );
Run Code Online (Sandbox Code Playgroud)
将调用第一个构造函数,
在隐式构造函数和
MyClass obj = 30;
Run Code Online (Sandbox Code Playgroud)
第二个ctor将被召唤.
我怎样才能实现呢?
30是有符号整数值,因此它不完全符合第一个构造函数的签名(因此,模板被实例化).
您可以更改显式构造函数的签名以接受a int,然后Myclass obj( 30 );调用显式构造函数,或者调用它30u以便匹配显式签名.