为了账号安全,请及时绑定邮箱和手机立即绑定

在VC、dev=c++下运行时错误,但quincy却可以正常运行?不明白为什么越界了。

在VC、dev=c++下运行时错误,但quincy却可以正常运行?不明白为什么越界了。

倚天杖 2022-05-13 14:11:17
#include<iostream>#include<string>using namespace std;int main(){enum buf{BASE,LOW,MID,HIGH,TOP};string part[TOP]; //这里改TOP+1后可以运行了part[BASE]= "A";part[LOW] = "B";part[MID] = "C";part[HIGH]= "D";part[TOP] = "E";for (int i= BASE; i <= TOP; i++)std::cout << part[i] << endl;system("PAUSE");return 0;}
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

首先string part[TOP]; //这里改TOP+1后可以运行了
这个问题说明你对enum相当不了解!!!我想最佳解决方案就是你不要用你不了解的东西!!!
enum定义了一个自己的类型!!!所以不要把它等同于int、long等。其中enum第一元素默认为0,第二个元素默认为1,其他依次类推!所以TOP应该为4,而你一共有5元素,所以定义的数组就有问题了

查看完整回答
反对 回复 2022-05-16
  • 1 回答
  • 0 关注
  • 158 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信