☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

不应存在未被使用的具名形式参数

8.5 ID_paramNotUsed
目录 › next › previous

如果函数的某个参数在函数内没有被用到,意味着函数的功能与设计之间存在差距。

如果某个参数确实不需要被用到,应尽量从参数列表中将其删除,如果需要遵循某种约定而必须保留参数(如虚函数或回调函数等),在 C++ 代码中不妨将参数的名称删掉,或使用 C++17 属性 [[maybe_unused]] 标注,在 C 代码中可用显式 void 转换指明未使用的参数在预期之内,并用注释说明参数未被使用的原因。

示例:

int foo(int x) {   // Non-compliant, ‘x’ is not used
    return 0;
}

应改为:

int foo(int x) {   // Compliant in C
    (void)x;
    return 0;
}

int foo(int) {     // Compliant in C++, or use ‘[[maybe_unused]] int x’ in C++17
    return 0;
}

依据

ISO/IEC 14882:2017 10.6.6

参考

C++ Core Guidelines F.9 MISRA C 2012 2.7 MISRA C++ 2008 0-1-11
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.