2011-08-16 8 views
1

私は次のコード未使用の変数のエラー...簡単な質問

int i=10; 

が、私はこれを行うとき(二つの文にそれを破るに入力したとき、私は、変数のためのC(エラー - 未使用変数)でエラーが出ます)

int i; 
i=10; 

エラーが離れ

を行く..私は はXcodeのに何か..ですXcodeの(版-4.1)(MacOSXの-ライオン)を使用しています....

答えて

5

何も問題はありません。コンパイラは、変数を宣言し、使用していないことを警告します。
エラーではなく警告です。
何も間違いはありませんが、必要がない変数を宣言しないでください。なぜなら、変数がメモリを占有し、必要がないときにオーバーヘッドに追加するだけなのでです。

+0

感謝.. –

1

コンパイラはが間違っていますが、意味のあるエラーを表示する機会がありません。

変数を宣言してもそれを "使用する"ことはないと警告し、変数を使用していると評価します。 2つのコードスニペットは同等です。コンパイラが問題を検出するのが少し簡単になります。

は、値が決して読み取られない変数について警告を出すことができます。より高い最適化レベルでそうした場合、私は驚くことはありません。 (最適化に必要な分析は、この種の問題を発見するのにも役立ちます。)すべてこのような問題が起こる可能性はありますか。そうすることはHalting Problemを解決することと等価になります。 (私は思う)。なぜなら、言語標準は通常、このような警告を必要とせず、異なるコンパイラは、そのような問題を検出するために異なるレベルの努力を費やすからです。

(実際には、コンパイラはおそらく問題が実際に存在しない場合の警告を発行する、すなわち、すべての未使用の変数の問題を検出するが、いくつかの偽陽性を犠牲にできます。)ヘルプメイトのため

+0

助けてくれてありがとう.. –