質問
タイプミスから気づいたのですが、以下のような変数宣言がコンパイルエラーにならないようです。
C++
1int i = i;
実際にiの中に入る値は直前までの挙動によるようです。
C++
1int i = i; 2std::cout << i << "\n"; // 0
C++
1int x = 1; 2int i = i; 3std::cout << i << "\n"; // 16
このような挙動になる理由はなぜなのでしょうか?
C++やC言語に詳しい方がいらっしゃったらぜひお教えいただけると幸いです。
補足情報(FW/ツールのバージョンなど)
C++17
g++.exe (x86_64-win32-seh-rev0, Built by MinGW-W64 project) 8.1.0
こちらの質問が他のユーザーから「問題・課題が含まれていない質問」という指摘を受けました。
回答4件
良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。