Может ли кто-нибудь объяснить, почему конструктор не одиночных параметров помечен как явный компилятор? Насколько я понимаю, это абсолютно бесполезное ключевое слово здесь, так почему это компилируется без ошибок?Явный конструктор не одиночных параметров
class X
{
public:
explicit X(int a, int b) { /* ... */}
};
Возможный дубликат [Явное ключевое слово в конструкторе multi-arg?] (Http://stackoverflow.com/questions/1118680/explicit-keyword-on-multi-arg-constructor) –
Он работает для полноты. Хотя он действительно ничего не делает, нет причин для этого, чтобы компиляция потерпела неудачу. –
это случается со мной регулярно. Сначала у меня есть явный конструктор одиночных параметров, тогда я добавляю второй параметр и забываю удалить «явный» –