避免“缓冲区溢出"C6386 警告 [英] Avoiding 'Buffer Overrun' C6386 warning

查看:39
本文介绍了避免“缓冲区溢出"C6386 警告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的代码中,我使用了一个包含 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆