gpt4 book ai didi

c++ - 从NULL构造字符串?

转载 作者:行者123 更新时间:2023-12-04 11:18:16 24 4
gpt4 key购买 nike

在对代码库进行了一些更改后,我遇到了这个问题:

#include <string>

void test(const std::string& s){
}

int main()
{
test(NULL);
return 0;
}

https://godbolt.org/z/7uJnef

这会引发异常。更改为 'nullptr' 没有任何帮助(仍然没有错误或警告)。

我想我的问题是,有没有办法在整个源代码的运行前检测或找到此错误?也许是一些编译器警告等(使用 MSVC VS-2017)

我最终修改了 basic_string 模板 ala。 basic_string(int) = delete;
basic_string(::std::nullptr_t) = delete;
- 这不会捕获所有案例,但似乎确实至少能够捕获直接案例

最佳答案

运行 cppcheck (版本 1.89)在示例文件上产生:

Checking test.cpp ...
test.cpp:9:10: error: Null pointer dereference [nullPointer]
test(NULL);
^

关于c++ - 从NULL构造字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58304063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com