C++里枚举在循环里的问题
来源:互联网 发布:麦星投资 知乎 编辑:程序博客网 时间:2024/06/05 18:34
在测试枚举功能时遇到以下问题。
#include <iostream>
using namespace std;
enum gameresult
{
win,lose,tie,cancel
};
using namespace std;
enum gameresult
{
win,lose,tie,cancel
};
int main()
{
gameresult result;
for(gameresult count = win;count <= cancel; count++)
{
result = gameresult(count);
if(result == win)
cout<<"the game was win!"<<endl;
if(result == lose)
cout<<"the game was lose."<<endl;
if(result == tie)
cout<<"the game was played"<<endl;
if(result == cancel)
cout<<"the game was cancelled!"<<endl;
}
getchar();
return 0;
}
{
gameresult result;
for(gameresult count = win;count <= cancel; count++)
{
result = gameresult(count);
if(result == win)
cout<<"the game was win!"<<endl;
if(result == lose)
cout<<"the game was lose."<<endl;
if(result == tie)
cout<<"the game was played"<<endl;
if(result == cancel)
cout<<"the game was cancelled!"<<endl;
}
getchar();
return 0;
}
调试结果为:error C2676: 二进制“++”:“gameresult”不定义该运算符或到预定义运算符可接收的类型的转换
分析原因为:gameresult是指针变量,只能赋值不能运算。后面改成了int定义count就好了,然后把count作为数组下坐标一样使用,调试就成功了。
下面是正确代码:
#include <iostream>
using namespace std;
enum gameresult
{
win,lose,tie,cancel
};
using namespace std;
enum gameresult
{
win,lose,tie,cancel
};
int main()
{
gameresult result;
for(int count = win;count <= cancel; count++)
{
result = gameresult(count);
if(result == win)
cout<<"the game was win!"<<endl;
if(result == lose)
cout<<"the game was lose."<<endl;
if(result == tie)
cout<<"the game was played"<<endl;
if(result == cancel)
cout<<"the game was cancelled!"<<endl;
}
return 0;
}
{
gameresult result;
for(int count = win;count <= cancel; count++)
{
result = gameresult(count);
if(result == win)
cout<<"the game was win!"<<endl;
if(result == lose)
cout<<"the game was lose."<<endl;
if(result == tie)
cout<<"the game was played"<<endl;
if(result == cancel)
cout<<"the game was cancelled!"<<endl;
}
return 0;
}
阅读全文
1 0
- C++里枚举在循环里的问题
- C语言 scanf在while循环里的无限循环
- 在线程里循环收发数据的问题
- C语言里的五种循环
- UITableViewCell的循环利用 - 在storyboard里
- C盘里的问题
- 数据在机器里的存储问题(c程序)
- typeScript里的循环
- JSF中selectOneRadio(单选按钮)的相关问题(包括在dataTable里的循环使用)
- 在while循环里switch菜单和scanf输入的问题
- C 中枚举(项目里遇到的)例子
- vc 枚举磁盘,在磁盘里写文件的操作
- 在Swift里两个枚举值一起使用的方法
- 在C# 循环里 边删 边循环
- c语言里内存的问题
- C 里 求 log2 N 的问题
- C里的重定义问题
- DrFFmpeg在VS2005里调试的问题
- Android权限大全
- R语言rvest包简介
- 算法训练 接水问题
- IJKPlayer问题集锦之不定时更新
- Reverse string
- C++里枚举在循环里的问题
- LeetCode--Edit Distance(字符串编辑距离)Python
- WebService&CXF
- linux学习笔记
- php实现socket
- go hex string与[]byte转换
- C++操作lua栈
- docker 1
- 【总结】python一些常见的库