2012-10-25 92 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