![](/img/trans.png)
[英]Visual Studio 2019 C6385 / C6386 (buffer overrun warning) on __m256 array
[英]Avoiding 'Buffer Overrun' C6386 warning
在我的代码中,我正在使用10个对象的数组xyz
。 当我尝试使用无符号int索引访问数组的元素时,如下所示: xyz[level]
,我收到“缓冲区溢出 ”警告。 从逻辑上讲,我非常确定该级别不会超过10。如何避免此警告?
我可能正在教我的祖母在这里吮吸鸡蛋,但请记住,对于大小为10的数组,“水平不会超过10”是错误的:
char a[10];
a[10] = '\0'; // Bug, and "Buffer Overrun" warning.
你真的确定吗? 直到现在我才得到这个警告。 因此,请仔细检查。
无论如何,您可以使用
#pragma warning( disable: 6386 )
预处理指令。 我通常将其推送并弹出到“ pragma stack”中
#pragma warning( push )
#pragma warning( disable : 6386 )
// Some code
#pragma warning( pop )
按照这里的建议。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.