2016-12-16 2 views
-1

У меня ошибка c2675 при использовании C++.C++: ошибка C2675: unary '++'

#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

One (некрасиво) решение:

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

Но это работает только потому, что значения вашего перечисления непрерывны и не будут работать с вашим TV enum.

Смежные вопросы