2016-12-16 6 views
-1

C++を使用すると、私はc2675エラーが発生します。C++:エラーC2675:単項「++」

#include<stdio.h> 
int main(void){ 
    enum months {jan=1, feb, mar, apr, jun, aug, sep, oct, nov, dec}; 
    enum TV { kbs1 =9, kbs2 = 7, mbc =11, sbs = 6}; 
    enum months mon; 

    printf("kbs1 : %d",kbs1); 
    printf("kbs2 : %d",kbs2); 
    printf("mbc : %d", mbc); 
    printf("sbs : %d", sbs); 

    for(mon = jan; mon<=dec; ++mon){ 
     printf("%d",mon);} 
    return 0; 

しかし、結果はそこにある...

error C2675: unary '++' : 'main::months' does not define this operator or a conversion to a type acceptable to the predefined operator. 

この問題を解決する方法を私を助けてください... T_T

答えて

0

ワン(醜い)ソリューションです:

for(mon = jan; mon <= dec; mon = (months)(mon + 1)) 
{ 
    printf("%d", mon); 
} 

あなたの列挙型の値が連続しており、例のためにTV enumで動作しない場合にのみ機能します。

関連する問題