если у меня есть конструкторы с параметрами в моем классе,
нам нужно предоставить конструктор, который ничего не делает, например:
1)
class A
{
A(){}; //To satisfy the compiler
//some constructors with parameter
};
только для удовлетворения компилятора.
Теперь, если у моего класса есть параметр по умолчанию, например:
2)
class A
{
//A(){} can't be used expilcilty or implicilty
A(int = 0);
};
A a;
Будет двусмысленность, вызывать ли A: :() или A :: A (int = 0), поэтому во втором случае мы не можем предоставить конструктор, который ничего не делает.
Поэтому верно ли, что даже неявный конструктор, предоставляемый компилятором, в этом случае исключается.
Пожалуйста, предоставьте некоторые разъяснения / мысли.