Clangコンパイラ利用時に出逢ったありがたい警告文。
Variable 'x' is uninitialized when used within its own initialization
未初期化の変数を自身に再代入しているため警告が発生している。
int i = i; // Variable 'i' is uninitialized when used within its own initialization
おそらくこの手のコードを書いてしまった場合の危険性を考慮し、わざわざ丁寧に警告してくれているのだろう。
int i = 3;
{
int i = i; // 右のiは「int i = 3;」のiではない
}
Swiftの場合は警告ではなくコンパイルエラーとなる。
Variable used within its own initial value
var i:Int = i // Variable used within its own initial value
俺「C言語さんユルいっすね」
Clang「控えめでおしとやかの間違いですよ?」
ANSI「じーーっ」