2010-06-29 49 views
0

如果我有這樣的事情:我沒有遵守標準嗎?

MyStruct clip; 

clip = {16, 16, 16, 16}; 

我從編譯器以下警告: 警告:僅適用於-std = C++ 0x或-std = GNU ++ 0x中

擴展初始化列表

如果我在編譯器中激活-std = C++ 0x,它不會給出任何警告。但我不確定我是否遵循標準。那麼我應該停用該標誌並分別初始化結構的每個成員?

謝謝。

回答

8

對於初始化,您應該可以使用MyStruct clip = {16, 16, 16, 16};,但正如您在當前C++標準中發現的那樣,您不能將其分配到括號內的列表。在C++ 1x中,您可以使用擴展語法。

+0

好吧,我應該讀一些關於這個新標準的信息http://en.wikipedia.org/wiki/C%2B%2B0x對不起xD 無論如何,謝謝! – Puyover 2010-06-29 21:12:35