问题描述
- C++ primer 中文版P461页
- 461页message类有一个地方不太明白:
explicit Message(const std::string &str=""""): contents(str){}
这里加explicit属性是为什么呢?求大神指教^ ^谢谢
解决方案
显示构造函数,不要进行隐式转换,也就是编译器不会对你的对象赋值等情况进行类型转换,当你在不同类型赋值时,需要你代码明确指定,
解决方案二:
此处表明当其它类和Message类进行类型转换时必须是显示的,不能能进行隐式转换;即必须提供明确的方法进行转换。
时间: 2024-08-02 16:34:16