変数定義時の自己代入が通る。
前にも悩んだ気がするcで変数定義時に自分で自分を初期化でき、かつ警告もでないというものに、また悩んでしまいました。どんなものかというと、
int main(void) { int a = a; return 0; }
というようなものです。当然不定値が入っている分けですが、gcc4.3に-O3 -Wallをつけても警告してくれません。cxxにすると同じコードでも警告してくれるのでc限定みたいですが、なにか理由があって警告出さないのでしょうか?
前にも悩んだ気がするcで変数定義時に自分で自分を初期化でき、かつ警告もでないというものに、また悩んでしまいました。どんなものかというと、
int main(void) { int a = a; return 0; }
というようなものです。当然不定値が入っている分けですが、gcc4.3に-O3 -Wallをつけても警告してくれません。cxxにすると同じコードでも警告してくれるのでc限定みたいですが、なにか理由があって警告出さないのでしょうか?