【发布时间】:2011-03-25 23:22:57
【问题描述】:
抑制编译器(在本例中为 GCC)如“未使用的变量 x”警告的最佳/最简洁的方法是什么?
我不想给 GCC 提供任何特定的标志来删除所有这些警告,只是为了特殊情况。
【问题讨论】:
-
有正当理由这样做,例如为系统进行插件开发,该系统期望您的函数具有特定签名,例如
void function_name(int par1, char *par2);,您只需要在 par2 上工作。 -
在这种情况下,将签名写为
void function_name(int par1, char*);,这是完全有效的,不会产生警告。 -
@spaceknarf 如果我使用 gcc 4.7.2 这样做,我会得到
error: parameter name omitted。 -
我认为在 C 函数签名中保留未命名的参数是无效的,因为它是定义的一部分。不过,这在 C++ 中是可以接受的。
-
这不是重复的,这是一个不同的问题。其他问题询问有什么方法可以抑制警告,这个问题询问我们应该使用哪种方式。