2

私のコードではxyz、10 個のオブジェクトの配列を使用しています。次のような unsigned int インデックスを使用して配列の要素にアクセスしようとすると、xyz[level]バッファ オーバーラン」という警告が表示されます。論理的には、レベルが 10 を超えることはないと確信しています。この警告を回避するにはどうすればよいですか?

4

2 に答える 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 に答える