struct MyStruct {
int x;
};
MyStruct theVar;
theVar.x = 10;
int main() {
return 0;
}
コンパイラがエラーを表示するのはなぜですか。
エラー:「theVar」はタイプに名前を付けていません
main
変数を作成して初期化できるのは、グローバルスコープの外部でのみです。そのようなグローバルスコープで変数に割り当てることはできません。
2つのオプションがあります。
作成時に初期化します。
MyStruct theVar = {10};
または
で割り当てますmain
:
theVar.x = 10;
最初のアプローチは、初期化という1つのステップ、2番目のアプローチには初期化と割り当ての2つのステップがあるため、より優れていることに注意してください。
関数の外でそのような割り当てを行うことはできません。main内に移動するか、初期化します。
MyStruct theVar = {10};