У меня есть объект с именем Thing
, его конструктор принимает int.C++ стиль вызова конструктора
Этот код работает, как ожидалось:
Thing thing(5);
Однако, случайно я написал следующее:
Thing thing = Thing(5); // note: no 'new'
И получил ошибку no matching constructor for initialization of 'Thing'
. Каков фактический смысл последнего кода? Я знаю, что это значит, если я нахожу там new
, но без нового, что это значит?
Как это происходит? Я не использовал «явный» сам где-либо –
@WhiZTiM 'explicit' помешал бы вместо этого вместо' Thing thing = 5'. – rom1v
Показать полное определение класса 'Thing' или, по крайней мере, всех его конструкторов. –