《C++primer》读到第十二章12.4.4隐式类型转换有些疑问
书上说能够将其他类型转换成我们定义的类类型,那么下面代码怎么会出错呢?怎么没有发生隐式转换呢?是否缺少了前提条件啊?
#include <iostream>#include <string>using namespace std;class Sales_item {public: bool same_isbn(const Sales_item &rhs) const{}};void main(){ string b="aaa"; Sales_item item; item.same_isbn(b);}#include <iostream>#include <string>using namespace std;class Sales_item {public: bool same_isbn(const Sales_item &rhs) const{} Sales_item(const string& s="some string"){} //需提供一个只有一个形参的构造函数};void main(){ string b="aaa"; Sales_item item; item.same_isbn(b);}