读书人

C语言枚举有关问题

发布时间: 2013-01-20 10:22:40 作者: rapoo

C语言枚举问题
下面一段程序,显示错误为
error C2675: unary '++' : 'enum main::Color' does not define this operator or a conversion to a type acceptable to the predefined operator

下面是源代码:

#include<stdio.h>
int main()
{
enum Color{red,yellow,blue,white,black};
enum Color i,j,k,pri;
int n,loop;
n=0;
for(i=red;i<=black;++i)
for(j=red;j<=black;++j)
if(i!=j)
{
for(k=red;k<=black;++k)
if((k!=i)&&(k!=j))
{
n++;
printf("%-4d",n);
for(loop=1;loop<4;loop++)
{
switch(loop)
{
case 1:pri=i;break;
case 2:pri=j;break;
case 3:pri=k;break;
default:break;
}
switch(pri)
{
case red:printf("%-10s","red");break;
case yellow:printf("%-10s","yellow");break;
case blue:printf("%-10s","blue");break;
case white:printf("%-10s","white");break;
case black:printf("%-10s","black");break;
default:break;
}
}
printf("\n");
}
}
printf("\ntotal:%5d\n",n);
return 0;
}

[解决办法]
枚举没有 ++ 操作

枚举是常量
[解决办法]
注释很清楚了,枚举是int型常量, 不能++的,你可以声明一个Int型,用它来计算
[解决办法]
枚举是常量 , 可以看下枚举定义。
[解决办法]
enum main::Color' does not define this operator
->
enum没有定义这个操作

读书人网 >C语言

热点推荐