struct MyStruct {
int x;
};
MyStruct theVar;
theVar.x = 10;
int main() {
return 0;
}
为什么编译器给我错误:
错误:“theVar”没有命名类型
您只能main
在全局范围之外创建变量并对其进行初始化。您不能像这样在全局范围内分配变量。
你有两个选择:
在创建时初始化它:
MyStruct theVar = {10};
或者
分配它main
:
theVar.x = 10;
请注意,第一种方法更好,因为它只有一个步骤Initialization,第二种方法有两个步骤Initialization和Assignment。
你不能在函数之外做这样的赋值。将其移入 main 中,或使其成为初始化:
MyStruct theVar = {10};