Рассмотрим следующее:
class A
{
private:
A() {}
public:
A(int x = 0) {}
};
int main()
{
A a(1);
return 0;
}
У меня есть два конструктора, по умолчанию, а другой - конвертирующий конструктор с аргументом по умолчанию. Когда я пытаюсь компилировать код, я ожидал ошибку двусмысленности, но компилятор не производит один.
Даже если я не создаю экземпляр A
, он также не вызывает ошибку двусмысленности.
int main()
{
return 0;
}
Почему это?