使用 GCC 和 C99 模式,我有一个函数声明为:
void func(float *X);
当我调用该函数时,我使用了一个易失性数组 Y:
volatile float Y[2];
int main()
{
func(Y);
return 0;
}
编译(使用-Wall
)时,我收到以下警告:
warning: passing argument 1 of ‘func’ discards qualifiers from pointer target type
blah.c:4: note: expected ‘float *’ but argument is of type ‘volatile float *’
我可以通过显式类型转换来消除它(float *)
,但这会在代码中的许多地方重复出现。
有没有办法通过选项或编译指示(或等效的东西)消除这个特定的警告?