水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
1/1
|
转到
主题:粗大,const char *可自动转成bool
楼主
|
prc79
|
2020-05-21 18:02:07
|
展开
Foo::Foo(const std::string& a, bool b=false);
Foo::Foo(bool);
Foo x("x");
然后各种不正常,加打印也没显示。
最后把第一个构造函数删了,编译没报错。
然后再测试
bool z = "aaa";
竟然也不报错。
这泥马太坑人了吧。
--
修改:prc79 FROM 117.136.0.*
FROM 123.151.77.*
3楼
|
prc79
|
2020-05-21 19:19:42
|
展开
即便如此,两个构造函数都满足x("x"),编译器为啥不confused。
【 在 z16166 的大作中提到: 】
: 没啥出大,规范里就是这么定的。有点坑人。谷歌搜一下,大把的supprising(粗大)
:
https://www.bfilipek.com/2019/07/surprising-conversions-char-bool.html
:
--
FROM 123.151.77.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版