我想在代码中抑制未处理的参数警告.
我的第一个方法是:
void RenderGraphFrame::mouseReleaseEvent(QMouseEvent *UNUSED(event))
{
MousebuttonHold = false;
updateGL();
return;
}
Run Code Online (Sandbox Code Playgroud)
其定义如下:
#define UNUSED(NAME) USE_IT(NAME)
#define USE_IT(NAME) UNUSED_ ## NAME
Run Code Online (Sandbox Code Playgroud)
这没用.经过一些SO研究后,我发现用C++我可以做到:
void RenderGraphFrame::mouseReleaseEvent(QMouseEvent)
{/*...*/}
Run Code Online (Sandbox Code Playgroud)
好吧,这完全解决了警告的问题,但现在...... mouseReleaseEvent()根本不再触发.所以这也不适合我.
那么我还有其他方法可以用代码变体来抑制警告?
解决方案#1 - 未命名参数:
void RenderGraphFrame::mouseReleaseEvent(QMouseEvent *)
Run Code Online (Sandbox Code Playgroud)
解决方案#2 - Qt Q_UNUSED宏:
void RenderGraphFrame::mouseReleaseEvent(QMouseEvent *event)
{
Q_UNUSED(event)
// Your code...
}
Run Code Online (Sandbox Code Playgroud)
实际上,这个宏是下一个方法的定义:
解决方案#3 - C方式:
void RenderGraphFrame::mouseReleaseEvent(QMouseEvent *event)
{
(void)event;
// Your code...
}
Run Code Online (Sandbox Code Playgroud)