2012-10-25 55 views
0

嗨,我有一个关于在真正的C语言writen下面的代码片段问题GCC警告挥发性双阵列

volatile double samp[256]; 

当我试图编译它的gcc给了我一个接着warrning:

array 'samp' assumed to have one element 

我的问题是C++数组声明样式在真C中是正确的吗?

+2

这很奇怪。这是正确的语法,我没有从我的gcc得到这样的警告。难道你的数组维度是由宏而不是文字常量给出的? –

+0

如果在其他地方声明了samp'数组,你可以检查你的程序吗? – ouah

+0

您使用的是哪个版本的GCC? (要知道,运行'gcc --version'。) –

回答

3

措辞 “假定为具有一个元件” 是从Technical Corrigendum 1到ISO/IEC 9899:1990(C90):

如果在含有
int i[];
所述翻译单元的端部数组i仍然具有不完整的类型,该数组假定有一个元素。程序启动时此元素初始化为零。

这表明您已经声明没有数组边界的数组:

volatile double samp[]; 

您应该检查的samp所有定义。

+1

谢谢我很惭愧。你是对的,总是相同的“代码中的消息”Eclipse没有保存我的文件,我编译了旧版本... – Mazeryt