如何告诉cppCheck不要将函数视为分配函数?

时间:2015-06-12 14:48:06

标签: c++ cppcheck

我使用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不要将函数视为分配函数。

1 个答案:

答案 0 :(得分:3)

我是Cppcheck开发人员。

这是误报。它应该在Cppcheck中修复。

我在Cppcheck问题跟踪器中创建了一张关于它的故障单: http://trac.cppcheck.net/ticket/6775