在什么情况下应该使用explicit?
explicit的作用是防止隐式的使用拷贝函数,在什么情况下,我们需要这个关键字呢?能否举个例子呢?谢谢!
[解决办法]
class A
{
public:
explicit A(int i){size = i;}
private:
int size;
};
void fun(A a)
{}
int main()
{
fun(3);
return 0;
}
--
可以编译
explicit的目的是
A b = 3;不成功
如果没有加的话就会成功
[解决办法]
这样可以编译,你换新的编译器看看,vs2005