gpt4 book ai didi

c++ - 是否有任何静态检查工具来检查这样的错误代码

转载 作者:太空狗 更新时间:2023-10-29 19:53:09 28 4
gpt4 key购买 nike

我这样写了一些有问题的代码:

#include "stdafx.h"
#include <string>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

string some_file = "afdfadf";

if(true)
{
string some_file = "/"+ some_file;
}

return 0;
}

调用std::operator+时会抛出异常。

我猜这是因为在 if 语句中第二个 some_file 是一个未初始化的字符串。

有没有什么静态检查工具可以帮助发现这种bug?

最佳答案

我刚试过,clang可以帮助找到bug:

[~]$ clang bug.cpp 
bug.cpp:11:29: warning: variable 'some_file' is uninitialized when used within
its own initialization [-Wuninitialized]
string some_file = "/"+ some_file;
~~~~~~~~~ ^~~~~~~~~

关于c++ - 是否有任何静态检查工具来检查这样的错误代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17210428/

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