gpt4 book ai didi

c++ - cppcheck 认为 alloc 和 dealloc 不匹配

转载 作者:行者123 更新时间:2023-11-30 00:48:10 26 4
gpt4 key购买 nike

cpp-check 错误是:error mismatchAllocDealloc false Mismatching allocation and deallocation: val2

我应该怎么做才能修复这个错误?

void MainWindow::ParseDemo(char *pBuf)
{
char* val2 = new char[256];
for (int i = 0; i < 254; i++)
{
val2[i] = pBuf[i+305];
}
val2[254] = 0; // 0-Termination
QString sunit(val2);
DoStuff(sunit);
delete val2;
// ...
}

最佳答案

error mismatchAllocDealloc false Mismatching allocation and deallocation: val2

newnew[] 需要以与 deletedelete[] 一致的方式使用,这就是 cppcheck 提示的原因。

What should I do to fix this error?

delete [] val2;,应该可以解决这个问题。

顺便说一句,这并不直接表示内存泄漏,但它很容易变成内存泄漏,因为它基本上是未定义的行为。

关于c++ - cppcheck 认为 alloc 和 dealloc 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32394833/

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