#include <stdio.h>
typedef float FloatArray[5];
static void doSomething(const FloatArray* i_data){
(void)i_data;
}
int main(void){
FloatArray fa = {1,2,4,5,6};
doSomething(&fa);
return 0;
}
我收到以下警告,但我不明白为什么
从不兼容的指针类型传递'doSomething'的参数0
如果我从函数参数中删除const
,则警告消失。
gcc用
调用-c -std = c99 -Wall -Wextra -Wfloat-conversion -Wenum-compare -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Winline -Wnested-externs -pedantic -mantup -mfpu =霓虹灯-mfloat-abi = hard