是否有任何 g++ 选项可以检测到 std::string 与 NULL const char* 的不正确初始化?
我正在将一些 int 字段转换为 std::string 字段,即:
struct Foo
{
int id;
Foo() : id(0) {}
};
...转换成:
struct Foo
{
std::string id;
Foo() : id(0) {} //oooops!
};
我完全忽略了使用 0 和 g++ 进行的糟糕的“id”初始化,根本没有给我任何警告。在运行时检测到此错误(std::string 构造函数引发异常),但我真的很想在编译时检测到这些东西。有什么办法吗?