У меня есть следующие классыНе получать ожидаемое поведение с «явным» ключевым словом в C++
class abc
{
private:
string name_;
public:
explicit abc(string name);
};
class xyz
{
private:
abc obj_abc_;
public:
xyz():obj_abc_("NOTHING") { }; //I think this should give an error since explicit is used.
};
Согласно тому, что я понял о явном, я должен получать ошибку компиляции, когда АБВ конструктор который вызывается; потому что я инициализирую obj_abc, просто назначив его строке. Но я не получаю ошибку компилятора здесь. Что мне не хватает?
'Явное abc (имя строки): name_ (name);' This compiled? – PaulMcKenzie
@PaulMcKenzie Спасибо за исправление моей ошибки там –