basic_string::_M_construct null not valid
C++有一个缺陷,请看以下代码:
1 | //cpp defeat: basic_string::_M_construct null not valid |
其中,fun(0)
的0
会被视为const char*
类型,也就是nullptr
,所以在编译期可以通过。
但是运行期会触发string
对象的构造错误“basic_string::_M_construct null not valid”。
隐蔽一点的代码:
1 | char * get_a_string() { |