我之前(嵌入的東西)使用C,我可以初始化我的陣列那樣:c + +在初始化指定數組索引,如C
int widths[] = { [0 ... 9] = 1, [10 ... 99] = 2, [100] = 3 };
即我可以內部初始化指定索引。 目前我正在學習Qt/C++
,我不相信這在C++中不被支持。
我有這個選項:-std=gnu++0x
,但無論如何它不被支持。 (我不知道它是否支持C++ 11,因爲Qt與gcc 4.7.x一起工作)
那麼,它真的不被C++支持嗎?或者也許有辦法啓用它?
UPD:目前我想初始化const數組,因此std::fill
將不起作用。
「或者也許有辦法啓用它? - 使用C? (:D)好問題,+1。 – 2012-11-26 10:30:46
您的代碼既不是C(包括C11)。 C11不支持這種初始化範圍('[a ... b] = 1'),只有單個元素('[a] = 1')。 – ybungalobill
嗯......你可以使用'extern「C」{................}'在聲明周圍嗎?但我相信這個語法是嵌入式編譯器的補充。 – anishsane