This question already has answers here:
Nested structures in C and C++
(4个答案)
6年前关闭。
我正在伤害以下代码:
Strut test2,test3和枚举的范围是否应该在struct test1内?
(4个答案)
6年前关闭。
我正在伤害以下代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
struct test1
{
struct test2
{
struct test3
{
enum TokenType
{
COMMA_TOKEN, EOF_TOKEN,
} token_value;
} b;
} c;
};
struct test2 hsd;
hsd.b.token_value = 2;
return 0;
}
Strut test2,test3和枚举的范围是否应该在struct test1内?
最佳答案
在C语言中,由于所有类型都在单个名称空间中声明,因此允许使用此类代码。
在C ++中,编译器应产生错误,因为struct test2在struct test1的范围内声明。在C ++中,您的变量应声明如下:
test1::test2 hsd;
关于c - 嵌套结构的范围是什么? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17405213/
10-11 15:45