我怎样才能告诉 cppCheck 不要将函数视为分配函数

How can I tell cppCheck to NOT treat a function as an allocation function?

本文关键字:函数 分配 cppCheck      更新时间:2023-10-16

我有一个使用Qt的代码库,我想运行cppCheck,我想让它运行得相当干净(抑制或修复大多数错误)。

我有这个函数添加结果:

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); 下一个Y += 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)调用中正确链接到它的父级,因此addResultLabel调用方是否保留它实际上并不重要。有很多这样的电话,我不想在每个电话站点上压制。

我想做的是告诉cppCheck addResultLabel实际上不是一个分配函数,这样它就会停止检查它的调用者。

我已经浏览了手册,虽然我可以看到如何添加新的分配函数,但我看不到如何告诉 cppCheck 不要将函数视为分配函数。

我是 Cppcheck 开发人员。

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

我在 Cppcheck 问题跟踪器中创建了一个关于它的票证:http://trac.cppcheck.net/ticket/6775