我有下面这段代码,可在Visual C++ 2012中编译通过。
布尔值“false”隐式传递到字符串构造函数中。
#include <string>
void func(std::string str)
{
}
void my_func()
{
func(false);
}
布尔值“false”隐式传递到字符串构造函数中。
string(const char* _Ptr)
然后指针为null(因为false = 0)。为什么这个可以编译,根据C++11标准,它应该可以编译吗?
0
可以是空指针常量。这确实不应该编译。 - Quentin