我想抑制代码中未使用的参数警告。

我的第一种方法是:

void RenderGraphFrame::mouseReleaseEvent(QMouseEvent *UNUSED(event))
{
    MousebuttonHold = false;
    updateGL();
    return;
}


定义如下:

#define UNUSED(NAME) USE_IT(NAME)
#define USE_IT(NAME) UNUSED_ ## NAME


这没用。经过一些SO研究,我发现在C ++中我可以做到:

void RenderGraphFrame::mouseReleaseEvent(QMouseEvent)
{/*...*/}


好吧,这可以完美解决警告的问题,但是现在....
mouseReleaseEvent()不再触发。
所以这对我也不起作用。

那么,我还有什么其他方法可以使用in代码变体来抑制警告?

最佳答案

这是因为QWidget::mouseReleaseEvent的参数是一个指针。您必须保留*:

void RenderGraphFrame::mouseReleaseEvent(QMouseEvent*)
{
  // Your code
}

09-08 00:23