很简单的问题。这是有效的 C++11 吗?
struct Foo {
int bar = 1;
int baz = bar;
};
GCC (4.7.2) 和 Clang (3.1) 都接受它的迂腐设置:
-std=c++11 -Wall -W -pedantic
英特尔 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};