私のコードではxyz
、10 個のオブジェクトの配列を使用しています。次のような unsigned int インデックスを使用して配列の要素にアクセスしようとすると、xyz[level]
「バッファ オーバーラン」という警告が表示されます。論理的には、レベルが 10 を超えることはないと確信しています。この警告を回避するにはどうすればよいですか?
3423 次
2 に答える
10
私はおそらく祖母にここで卵を吸うように教えていますが、サイズ10の配列では「レベルが10を超えない」というのは間違っていることを覚えておいてください。
char a[10];
a[10] = '\0'; // Bug, and "Buffer Overrun" warning.
于 2010-06-11T10:52:04.483 に答える
2
本当によろしいですか?私は今までこの警告を受けたことはありません。だから、再確認してください。
とにかく、あなたは使用することができます
#pragma warning( disable: 6386 )
プリプロセッサディレクティブ。私は通常、これを「プラグマスタック」にプッシュしてポップします
#pragma warning( push )
#pragma warning( disable : 6386 )
// Some code
#pragma warning( pop )
ここでアドバイスされているように。
于 2010-06-11T10:53:29.907 に答える