在代码中抑制"unused parameter"警告
Supressing "unused parameter" warning inside of code
我想在代码中抑制未执行的参数警告。
我的第一个方法是:
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()
不再被触发了。所以这也不适合我。
那么我还有什么其他方法可以用代码变体来抑制警告呢?
解决方案#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
}
相关文章:
- 警告处理为错误这里有什么问题
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- cppcheck在const std::string[]上引发警告
- GCC对可能有效的代码抛出init list生存期警告
- 如何在BST的这个简单递归实现中消除警告
- 关于std::move的使用,是否有编译警告
- g++ 在某个类成员未初始化时不发出警告
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 使用typeid警告未使用的变量
- 示例C++项目编译中的警告
- 警告:在函数返回类型 [-Wignore 限定符] 时忽略类型限定符
- 如何修复编译器警告 C6386 和 C6385?
- 返回语句后的代码,没有警告
- 获取隐式转换溢出从无符号到已签名的警告
- 编译器警告:执行到达值返回函数的末尾而不返回值
- 叮当声:折叠表情和"expression result unused"警告
- Clang 对使用的类型别名发出"unused type alias"警告
- 在代码中抑制"unused parameter"警告
- 从C++中删除"unused variable"警告
- 消除QGraphics生成的"unused parameter 'widget'"警告的干净方法项目::p aint