CLion 2025.2 Help

检查:参数选择缺陷

当您调用一个具有相同类型多个参数的函数时,可能会不小心将它们交换,从而导致难以调试的错误。 参数选择缺陷 检查可以帮助您发现并快速修复此类错误,而无需编译代码(原始启发式算法可以在此 研究论文 中找到):

编辑器中的参数选择缺陷检查

此检查默认启用。 您可以在 检查设置 对话框中配置其严重性和作用域,或关闭此检查(选择 C/C++通用参数选择缺陷)。

功能作用域

参数选择缺陷检查会检测当 两个或更多 类型相同的参数以错误顺序传递给函数时的情况。 对于此类情况,此检查可以处理 任何类型 ,包括用户定义的情况。 此外,此检查是 容错 的,因此参数不必完全相同。

限制

为了避免误报,参数选择缺陷检查在以下情况下会 不会警告 您:

  • 函数是递归的

  • 可能被交换的参数是可变参数,例如:

    void f(int left, ...); void b(int left, int right) { f(right, left); }
  • 函数或参数名称包含以下子字符串: swapreverseinverseflipbackwardrotate

  • 参数名称少于三个符号(如 x, y, ab

  • 函数被多次调用,并且相同的参数以不同的顺序传递,例如:

    case LANDSCAPE: bitmap = new Bitmap (width , height); break ; case PORTRAIT: bitmap = new Bitmap (height , width); ...
最后修改日期: 2025年 9月 26日