看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《kuopin (Kuopin)》之銘言: : 我在使用過code::block發現很好用 : 所以漸漸的靶Dev C++給扔了 : 可是最近老師出的一題作業 : 我寫出來後 : 用code::block卻無法編譯成功 : DEV C++卻可以 : 不知道問題出在哪 : 我不想放棄使用code::block啊~ : 大家可以幫我看一下嘛 : 程式碼如下: 因為你沒有好好排版的關係,所以code block在不高興了。 記得code block可以用astyle的啊... 沒有錯誤訊息 就當沒問題囉 #include<stdio.h> typedef enum { January,February,March,April,May,June, July,August,September,October,November,December } month_t; void print_month(month_t month_mmm); int main(void){ month_t month_mmm; month_mmm = January; int year = 2005; while (year != 2011){ for (month_mmm;month_mmm<=December;month_mmm = month_mmm+5){ printf("%d, ",year); print_month(month_mmm); printf("\n"); } if( month_mmm >=12){ month_mmm = month_mmm - 12; year = year + 1; } } return 0; } void print_month(month_t month_mmm){ switch (month_mmm){ case January: printf("January"); break; case February: printf("February"); break; case March: printf("March"); break; case April: printf("April"); break; case May: printf("May"); break; case June: printf("June"); break; case July: printf("July"); break; case August: printf("August"); break; case September: printf("September"); break; case October: printf("October"); break; case November: printf("November"); break; case December: printf("December"); break; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.205.130
sunneo:因為month_mmm是month_t類別 直接當作整數+5在C++不允許 04/27 00:40
sunneo:錯誤訊息我猜是不能在整數跟enum ... 轉換吧 04/27 00:40
kuopin:你PO的這一邊 也是不行執行耶 04/27 00:58
kuopin:錯誤訊息:invalid conversion from 'int' to 'month_t' 04/27 00:59
fasthall:一樓解答了 04/27 01:00
kuopin:那Dev-C++怎麼不會有問題@@" 04/27 01:03
joefaq:(month_t)(month_mmm - 12) 強制轉型吧 04/27 01:05
snowlike:其實chrisdar在上一篇1F已經提供enum對int的轉型方式^^ 04/27 01:08
VictorTom:推一下, 都不曉得enum可以這樣搞:) 04/27 01:10
sunneo:不會有問題可能只是因為你副檔名是.c 04/27 01:12
sunneo:code block以g++來編譯的關係吧 04/27 01:13
sunneo:你可以嘗試在code block的該檔案上選擇用c的方式編譯 04/27 01:14
kuopin:照剛剛C大改寫 就可以了 感謝大家!!! 04/27 01:22
kuopin:ㄜ~結果改寫那樣 Dev-C++又不行 哈~~不管了= =" 04/27 01:24