C++ 为什么照着书上写都出错的?
答案:3 悬赏:40
解决时间 2021-02-15 18:30
- 提问者网友:喜遇你
- 2021-02-14 22:31
C++ 为什么照着书上写都出错的?
最佳答案
- 二级知识专家网友:闲懒诗人
- 2021-02-14 23:08
enum是枚举
enum ik
{
op,
close,
append
};
op close append默认为int;前面的定义不必要也是错误的!
op默认值为0;后面的植默认依次加1;即close=1;append=2;
但这不是说就要在前面定义op close append为int ;
枚举就是为了让代码更易懂,不至于出现大量的数字而不知道是什么意思。
如设定游戏难度
switch(nandu)
{
case 1:
...
case 2:
...
case 3:
...
}
时间长了就不知道123是什么了;
而
enum 难度
{
easy,
ordinary,
hard
};
switch(nandu)
{
case easy:
...
case ordinary:
...
case hard:
...
}
一目了然!
enum ik
{
op,
close,
append
};
op close append默认为int;前面的定义不必要也是错误的!
op默认值为0;后面的植默认依次加1;即close=1;append=2;
但这不是说就要在前面定义op close append为int ;
枚举就是为了让代码更易懂,不至于出现大量的数字而不知道是什么意思。
如设定游戏难度
switch(nandu)
{
case 1:
...
case 2:
...
case 3:
...
}
时间长了就不知道123是什么了;
而
enum 难度
{
easy,
ordinary,
hard
};
switch(nandu)
{
case easy:
...
case ordinary:
...
case hard:
...
}
一目了然!
全部回答
- 1楼网友:虚伪的现实
- 2021-02-15 00:18
错误报告不是说得很明显吗?重定义了!
int op=1,close=2,append=3;
enum ik {op,close,append};
(1)如果两行都要保留的话就把枚举(enum)中的三个变量名改一下。枚举里面的数据类型都是int型,默认从0开始,并依次加1,即ik.op=0,ik.close=1,ik.append=2。
(2)按照你这个程序来说,应该是只有一行,即把上面那一行删掉。要使枚举中的op,close,append的值分别是1,2,3的话只需写成下面这种:
enum ik{op=1,close,append};
这样枚举中的变量值就默认从1递增了,实现了上面那一行(int op=1,close=2,append=3;)的效果。
- 2楼网友:邪性洒脱
- 2021-02-14 23:13
int op=1,close=2,append=3;
把这行去掉试试
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯