C++;:想要制作一个简单的嵌套结构吗 我是C++初学者,尝试在它下面构造一个嵌套结构2个子结构。 代码是: struct Sub_number{ int one; int two; }; struct Sub_size{ int width; int height; }; struct MainStruct{ struct Sub_number number; struct Sub_size size; }main;

C++;:想要制作一个简单的嵌套结构吗 我是C++初学者,尝试在它下面构造一个嵌套结构2个子结构。 代码是: struct Sub_number{ int one; int two; }; struct Sub_size{ int width; int height; }; struct MainStruct{ struct Sub_number number; struct Sub_size size; }main;,c++,struct,C++,Struct,当我试图像这样在Xcode中输入一个值时,我从Xcode中得到了[不能在类型上使用点运算符]错误: main.number.one = 13; ^ 有人知道这个代码有什么问题吗 非常感谢大家。正如你所写,我使用的名字是一个不好的点!!我真傻。。下次询问StackOverflow时,我会仔细检查一下 谢谢 您的结构名不能是main。main是唯一的函数名int main()。请将结构名更改为其他名称 main是主函数(应用程序的起点)的保留字。您需要将变量名更改为其他名称。这将解决问题

当我试图像这样在Xcode中输入一个值时,我从Xcode中得到了[不能在类型上使用点运算符]错误:

main.number.one = 13;
    ^
有人知道这个代码有什么问题吗


非常感谢大家。正如你所写,我使用的名字是一个不好的点!!我真傻。。下次询问StackOverflow时,我会仔细检查一下


谢谢

您的结构名不能是
main
。main是唯一的函数名
int main()
。请将结构名更改为其他名称

main
是主函数(应用程序的起点)的保留字。您需要将变量名更改为其他名称。这将解决问题

struct Sub_number {
    int one;
    int two;
};

struct Sub_size {
    int width;
    int height;
};

struct MainStruct {
    struct Sub_number number;
    struct Sub_size size;
}someVariable;

void main() {
  someVariable.number.one = 1;
}

这不一定会修复错误,但您不需要在
MainStruct
中说“
struct
”,并且不应该调用除
main
函数
main
以外的任何函数。请看这个“工作”示例:另外,这里没有使用“嵌套结构”。您只需要有一个数据成员为用户定义类型(前两个结构)的结构。当您在其他类型中定义类型时,嵌套类型就是。您需要将
mainStruct.number.one
放入函数中。函数之外不能有非声明语句。