CDT 解析器报告结构初始化的语法错误:
typedef struct MyStruct
{
int a;
float b;
};
int main( void )
{
// GNU C extension format
MyStruct s = {a : 1, b : 2};
// C99 standard format
// MyStruct s = {.a = 1, .b = 2};
return 0;
}
虽然GCC 将该:
表单列为 obsolete,但它似乎并未被弃用或删除。在 C99 中,我当然会使用标准.<name> =
形式,但对于 C++,这:
是我所知道的用于指定初始化的唯一选项。
我尝试将我的工具链设置为 MinGW 和 Cross GCC,但似乎都不起作用。
如何让 Eclipse 识别这种语法?这对一行来说没什么大不了的,但它会传递到变量的所有其他实例,因为 Eclipse 没有意识到它已被声明。