質問

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

役に立ちましたか?

解決

おそらくここで祖母に卵を吸うように教えているのでしょうが、サイズ 10 の配列に対して「レベルは 10 を超えない」というのは間違いであることを覚えておいてください。

char a[10];
a[10] = '\0';  // Bug, and "Buffer Overrun" warning.

他のヒント

あなたは 本当に もちろん?今までこの警告が出たことはありません。それで、再確認してください。

とにかく、あなたは使うことができます

#pragma warning( disable: 6386 )

プリプロセッサディレクティブ。通常、これを「プラグマスタック」にプッシュおよびポップします

#pragma warning( push )
#pragma warning( disable : 6386 )
// Some code
#pragma warning( pop )

アドバイスどおり ここ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top