2011-09-15 9 views
0

何らかの理由でエラーが発生しました:この行には何の効果もありません。文が無効です

for (j = idx; j < iter ; j + increment) { 
     printf("from loop idx = %i", (int)idx); 
     func(ctxt, j); 
    } 
+0

本当に間違っていますか?警告ではない? –

+0

これは1行ではありません。 –

答えて

9

おそらくj += incrementの代わりj + incrementを書くことを意味しました。

+0

ありがとうございました。 ...私はそれをキャッチしなかったことを恥じている。疲れている必要があります – Dave

1

これはエラーとして表示されていますか?どのようにクール、私はコンパイラがしたい。基本的にはj + incrementはその2つの合計を返しますが、jは変更されず、ループはおそらく永遠に実行されます。

+0

ya私はMacでXcodeを使用しています。試してみてください:) – Dave

+0

'gcc'をお持ちの場合、' -Werror'オプション( '-Wall'オプション付き)は警告をエラーにします。 '-Werror = unused-value'はこの問題の特定の警告をエラーにします。 – pmg

4

j + incrementとして実際にjを変更したり、実際にすべての副作用を持っていない、

j += increment 
5

j + increment 

は、私はあなたがj += incrementを意味だと思い交換してください - それは効果なしと文ですコンパイラがあなたに伝えているものです

+0

そしておそらくコンパイラによって最適化されているので、何もしないで評価しても何もしません。 –

+0

フォレスト内の 'j'に' increment'が追加され、オンボードのサウンドカードの遮蔽性が悪いためにノイズが聞こえる人はいません。 –

0

+ =を意味するのは明らかですが、そうでない場合は 'volaタイル '修飾子は警告を防止する必要があります。