构造函数默认参数

3

构造函数:

A()
{
    std::cout<<"In A const";
}

A(int a = 3)
{
    std::cout<<"In a with default :"<<a;
}

创建对象:

A a;
A a1(4);

上述代码出现错误:调用重载函数 'A()' 不明确

4
如果没有传递参数,编译器无法确定调用哪个构造函数。 - Jost
1个回答

10
你已经给第二个构造函数设置了一个默认值:
A(int a = 3)

所以这涵盖了 A()A(3) 两种情况,使得第一个定义变得多余。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接