读书人

在什么情况下应该使用explicit?该如何

发布时间: 2012-02-11 09:51:35 作者: rapoo

在什么情况下应该使用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

读书人网 >C++

热点推荐