Re: [問題] 關於code::block

看板C_and_CPP作者 (艾斯寇德)時間15年前 (2009/04/27 00:37), 編輯推噓7(707)
留言14則, 6人參與, 最新討論串2/2 (看更多)
※ 引述《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

04/27 00:40, , 1F
因為month_mmm是month_t類別 直接當作整數+5在C++不允許
04/27 00:40, 1F

04/27 00:40, , 2F
錯誤訊息我猜是不能在整數跟enum ... 轉換吧
04/27 00:40, 2F

04/27 00:58, , 3F
你PO的這一邊 也是不行執行耶
04/27 00:58, 3F

04/27 00:59, , 4F
錯誤訊息:invalid conversion from 'int' to 'month_t'
04/27 00:59, 4F

04/27 01:00, , 5F
一樓解答了
04/27 01:00, 5F

04/27 01:03, , 6F
那Dev-C++怎麼不會有問題@@"
04/27 01:03, 6F

04/27 01:05, , 7F
(month_t)(month_mmm - 12) 強制轉型吧
04/27 01:05, 7F

04/27 01:08, , 8F
其實chrisdar在上一篇1F已經提供enum對int的轉型方式^^
04/27 01:08, 8F

04/27 01:10, , 9F
推一下, 都不曉得enum可以這樣搞:)
04/27 01:10, 9F

04/27 01:12, , 10F
不會有問題可能只是因為你副檔名是.c
04/27 01:12, 10F

04/27 01:13, , 11F
code block以g++來編譯的關係吧
04/27 01:13, 11F

04/27 01:14, , 12F
你可以嘗試在code block的該檔案上選擇用c的方式編譯
04/27 01:14, 12F

04/27 01:22, , 13F
照剛剛C大改寫 就可以了 感謝大家!!!
04/27 01:22, 13F

04/27 01:24, , 14F
ㄜ~結果改寫那樣 Dev-C++又不行 哈~~不管了= ="
04/27 01:24, 14F
文章代碼(AID): #19z8syYE (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #19z8syYE (C_and_CPP)