非常に簡単な質問です。これは有効なC++11ですか?
struct Foo {
int bar = 1;
int baz = bar;
};
GCC(4.7.2)とClang(3.1)はどちらも、衒学的な設定でそれを受け入れます。
-std = c ++ 11 -Wall -W -pedantic
Intel C ++(13.0.1.117)はそうではありません。それはと吠えint baz = bar;
ます:
エラー:非静的メンバー参照は特定のオブジェクトに関連している必要があります
誰が正しいですか?
不思議に思うかもしれませんが、私はこれを次のようなコードに使用します。このコードでは、最後の行をコンストラクターに移動するのではなく、初期化コードを近づけます。
uint8_t colorR = -1;
uint8_t colorG = -1;
uint8_t colorB = -1;
uint8_t colorA = -1;
GLubyte RGBAVec[4] = {colorR, colorG, colorB, colorA};