int x; //line 1
int x; //line 2
int main()
{
return 0;
}
行 1 と行 2 の両方で、変数 x の宣言と定義を行っています。しかし、コードはリンカ エラーを出しません。なぜそうなのですか?
コンパイルは、両方の行で x を初期化した場合にのみ失敗します。
int x=3;
int x=3;
int main(){
return 0;
}
変数 x が複数定義されているため、コード 1 でコンパイルが失敗すると思いました。
プログラミング初心者ですので、間違い等ありましたらご容赦ください。