Wpis z mikrobloga

https://ideone.com/iKv6cG

Dlaczego przy wywołaniu func zawsze wywoływany jest pierwszy konstruktor dla inta, pomimo że jest to drugi parametr? Typy wbudowane są "sequenced before", czy w tym przypadku jest to "indeterminately sequenced" i zależy od kompilatora?

I czemu "tekst w cudzyslowiu" jest traktowany jako string przy wywołaniu konstruktora wat("asdf"), ale już próba wywołania func("asdf",2) wyrzuca błąd że nie ma konstruktora dla const char[]?

#cpp #programowanie
  • 9
ale już próba wywołania func("asdf",2) wyrzuca błąd że nie ma konstruktora dla const char[]?


@Atraktor: nie można dokonywać implicit konwersji więcej niż jeden raz: dla tego przykładu musiałbyś zkonwertować const char* -> std::string, a następnie std::string -> wat