在我的代码中,我使用的是10个对象的数组xyz
。当我尝试使用unsigned int index访问数组的元素时,如下所示:xyz[level]
,我收到'Buffer overrun'警告。从逻辑上讲,我很确定该级别不会超过10.如何避免此警告?
答案 0 :(得分:9)
我可能会教我的祖母在这里吮吸鸡蛋,但要记住“水平不会超过10”对于10号阵列是错误的:
char a[10];
a[10] = '\0'; // Bug, and "Buffer Overrun" warning.
答案 1 :(得分:0)
你真的确定吗?直到现在我才收到这个警告。所以,仔细检查。
无论如何,你可以使用
#pragma warning( disable: 6386 )
预处理程序指令。我通常将其推送到“pragma stack”
#pragma warning( push )
#pragma warning( disable : 6386 )
// Some code
#pragma warning( pop )
建议here。