我使用Qt获得了一个代码库,我希望运行cppCheck,并且我想让它运行得相当干净(抑制或修复大多数错误)。
我有这个函数addResultLable:
QLabel * TestScreen::addResultLabel(const QString& labelText, int x, int y)
{
QLabel *pLabel = new QLabel(baseFrame);
pLabel->setText(labelText);
pLabel->setGeometry(x, y, TEST_RESULT_WIDTH, TEST_RESULT_HEIGHT);
pLabel->setAlignment(Qt::AlignCenter);
return pLabel;
}
我这么称呼它: addResultLabel(" Packets",TEST_RESULT_OFFSET,nextY); nextY + = TEST_RESULT_HEIGHT; m_packets = addResultLabel(" 0",TEST_RESULT_OFFSET,nextY);
cppCheck在第一次通话时出现(error) Return value of allocation function addResultLabel is not stored.
。
虽然如此,但它并不相关:QLabel在new QLabel(baseFrame)
调用中正确链接到它的父级,因此{{{}}的调用者实际上并不重要保持与否。有很多这样的电话,我不想在每个电话会议网站上进行压制。
我想做的是告诉cppCheck addResultLabel
实际上不是分配函数,因此它停止检查它的调用者。
我已经通过手册进行了搜索,虽然我可以看到如何添加新的分配功能,但我无法看到如何告诉cppCheck不要将函数视为分配函数。
答案 0 :(得分:3)
我是Cppcheck开发人员。
这是误报。它应该在Cppcheck中修复。
我在Cppcheck问题跟踪器中创建了一张关于它的故障单: http://trac.cppcheck.net/ticket/6775