使用默认参数的一个参数对构造函数进行Ambigious调用

时间:2016-10-04 12:30:31

标签: c++ c++11

class X {
public:
    X() = delete;
    X(int x = 1) : _x(x) {}
private:
    int _x;
};

int main() {
    X x; // why is this call ambigious?
}

在上面的代码中,为什么删除默认构造函数时主要ambigious中的构造以及何时编译代码?!有意义的是,当删除时,构造只有一个构造函数可以调用(即具有默认参数的构造函数)

0 个答案:

没有答案