本文介绍了避免“缓冲区溢出"C6386 警告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
限时送ChatGPT账号..在我的代码中,我使用了一个包含 10 个对象的数组 xyz
.当我尝试使用如下所示的 unsigned int 索引访问数组元素时:xyz[level]
,我得到 '缓冲区溢出' 警告.从逻辑上讲,我很确定该级别不会超过 10.如何避免此警告?
In my code, I am using an array xyz
of 10 objects. When I am trying to access an element of the array using an unsigned int index like this: xyz[level]
, I get 'Buffer overrun' warning. Logically, I am pretty sure that level won't exceed 10. How to avoid this warning?
推荐答案
我可能在这里教我祖母吸鸡蛋,但请记住,对于大小为 10 的数组,级别不会超过 10"是错误的:
I'm probably teaching my grandmother to suck eggs here, but do remember that "level won't exceed 10" is wrong for an array of size 10:
char a[10];
a[10] = '\0'; // Bug, and "Buffer Overrun" warning.
这篇关于避免“缓冲区溢出"C6386 警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论