代码之家  ›  专栏  ›  技术社区  ›  code_fodder

Visual Studio等价于GCC-Ay属性((未使用))在C++ 11(或更低)中?

  •  1
  • code_fodder  · 技术社区  · 6 年前

    我试图编写一个宏,在用户需要时使用suppress未使用的变量警告(例如,在派生类中,尚未实现整个类)。我知道我可以删除变量名…但为了清楚起见,我更喜欢宏)。

    到目前为止,我有:

    #ifdef WIN32
        #define UNUSED(x) x
    #else
        #define x __attribute__((unused))
    #endif
    

    用途:

    void test_fn(int UNUSED(test_var)) {...}

    我看到这篇文章: suppressing-is-never-used-and-is-never-assigned-to-warnings-in-c-sharp 但是它给了我一个我不能真正使用的结果(多行语用)。

    所以我的问题是,是否有一个MSV等价于 __attribute__((unused)) ?-也就是说,在同一条线上?

    注: 这个问题并不能回答我的问题: how-do-i-best-silence-a-warning-about-unused-variables 因为它不包括如何在函数原型中以一种既能与MSV又能与GCC一起工作的方式使用它。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Jarod42    6 年前

    void test_fn(int UNUSED(test_var)) {...}
    

    #define UNUSED(x) /*Empty*/
    
        2
  •  1
  •   Deduplicator    6 年前