This question already has answers here:
Closed 5 years ago.
Compound literals in MSVC
(4个答案)
请原谅这个问题的标题,我可能会在得到答案后更新标题。
我有这个古老的代码编译和使用gcc 4.x:
如您所见,我将
此功能在任何visual studio版本中都受支持吗?
(4个答案)
请原谅这个问题的标题,我可能会在得到答案后更新标题。
我有这个古老的代码编译和使用gcc 4.x:
struct S {
int a;
int b;
};
int main(void)
{
return (struct S){1,2}.a;
}
如您所见,我将
{1,2}
转换为struct S
以访问成员a
。这个特性在C语言中是如何调用的?或者这个结构的正确术语是什么?此功能在任何visual studio版本中都受支持吗?
最佳答案
它被称为compound literal,在C99中引入。本标准中相关部分为6.5.2.5 Compound literals
坏消息是Visual Studio现在只支持C89,所以visualstudio不支持此功能。
10-01 03:07