设置 | 编辑器 | 检查 - C/C++,通用

默认严重性:警告

基于 Clangd 引擎

当您调用具有多个相同类型参数的函数时,可能会意外交换它们,从而可能遇到难以调试的错误。参数选择缺陷检查可以帮助您在不编译代码的情况下揭示并快速修复此类错误(原始的启发式算法可以在这篇研究论文中找到):

1.png

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

功能范围

参数选择缺陷检查会在将两个或多个相同类型的参数传递给函数但顺序错误的情况下进行检测。对于这种情况,检查可以处理任何类型,包括用户自定义类型。此外,该检查是容忍输错的,因此参数不必完全相同。

限制

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

  • 函数是递归的
  • 预计交换的参数是可变参数的,例如:

    void f(int left, ...);
    void b(int left, int right) {
        f(right, left);
    }
  • 函数或参数名称包含以下子字符串:swap、reverse、inverse、flip、backward 或 rotate
  • 参数名称少于三个字符(例如 x, y, ab
  • 多次调用相同参数但以不同顺序传递参数的函数,例如:

    case LANDSCAPE:
       bitmap = new Bitmap (width , height);
       break ;
    case PORTRAIT:
       bitmap = new Bitmap (height , width);
       ...

标签: clion破解, clion破解教程, clion教程, clion基础教程, clion高级教程, clion核心教程, clion免费激活码, clion免费注册码, clion注册码在线生成, clion激活