class Test { public: explicit Test(bool bFlag) :m_bFlag(bFlag) { } private: bool m_bFlag; }; int main() { Test testC = 2; }
不添加 explicit: warning C4305: “参数”: 从“int”到“bool”截断 添加 :error C2440: “初始化”: 无法从“int”转换为“Test”1> class“Test”的构造函数声明为“explicit”explicit :只对一个参数有效(其余参数都是默认值,也有效)
explicit关键字(显示转换)
最新推荐文章于 2022-12-16 09:46:47 发布