На ваш взгляд, какой конструктор будет называться?Конструктор: это правильный вызов?
class Element {
public:
Element(bool b = true, bool c = true);
Element(const std::string s, bool b = true, bool c = true);
};
...
Element element("something", true);
Неверно! Первый.
Должен ли я перезапустить книгу Страуструпа с самого начала?
Я пробовал без const, но ничего не меняется.
Кажется, что char * больше похож на bool, чем на std :: string.
С помощью этого кода все в порядке:
Element element(string("something"), true);
Компилятор: Microsoft Visual C++ 2010
ОС: Windows 7
Вы, кажется, ответили на свой вопрос в редакции. Есть ли здесь (другой) реальный вопрос? – 2010-11-30 17:06:40
сторона примечание: не пропустите `std :: string` значение; Ссылка const здесь, вероятно, более эффективна. – tenfour 2010-11-30 17:07:53
tenfour: да, ссылка const - это то, что я использовал в начале. Я попытался удалить ссылку, чтобы увидеть, улучшилось ли положение. – Pietro 2010-11-30 17:11:02