问题描述
请帮助我理解为什么 cppcheck 指责特定的代码行 test.cpp:6:11: error: Uninitialized variable: inst1 [uninitvar]
指的是 Test* inst1 = new Test{};
行
cppcheck --version = Cppcheck 1.90
#include <tuple>
class Test{};
auto foo()
{
Test* inst1 = new Test{};
Test* inst2 = new Test;
Test* inst3 = new test();
return std::make_tuple(inst1,inst2,inst3);
}
int main
{
}
根据 https://en.cppreference.com/w/cpp/language/value_initialization ()
和 {}
在这种情况下应该是相同的。
我编辑了描述,因为人们声称提供的片段是不真实的,对此深表歉意。这是一个变量名称的拼写错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)