我想抑制代码中未使用的参数警告。
我的第一个方法是:
void RenderGraphFrame::mouseReleaseEvent(QMouseEvent *UNUSED(event))
{
MousebuttonHold = false;
updateGL();
return;
}
其中定义如下:
#define UNUSED(NAME) USE_IT(NAME)
#define USE_IT(NAME) UNUSED_ ## NAME
这不起作用。经过一番研究后,我发现在 C++ 中我可以做到:
void RenderGraphFrame::mouseReleaseEvent(QMouseEvent)
{/*...*/}
这完美地解决了警告问题,但现在......
mouseReleaseEvent()
根本不再被触发。
所以这对我来说也不起作用。
那么我还有什么其他方法可以通过代码变体来抑制警告?
解决方案#1 – 未命名参数:
void RenderGraphFrame::mouseReleaseEvent(QMouseEvent *)
解决方案#2 – Qt
Q_UNUSED
宏:
void RenderGraphFrame::mouseReleaseEvent(QMouseEvent *event)
{
Q_UNUSED(event)
// Your code...
}
实际上,这是以下技术的宏:
解决方案#3 – C 方式:
void RenderGraphFrame::mouseReleaseEvent(QMouseEvent *event)
{
(void)event;
// Your code...
}
这是因为QWidget::mouseReleaseEvent的参数是一个指针。您必须保留*:
void RenderGraphFrame::mouseReleaseEvent(QMouseEvent*)
{
// Your code
}