2017-09-21 151 views
0

我已閱讀this但接受的答案對我來說沒有意義。我應該能夠定義C99枚舉作爲C99枚舉 - 需要說明

enum WeekDays 
{ 
    MON, TUES, WED, THURS, FRI, SAT, SUN 
}days; 

和利用作爲枚舉作爲

days = FRI; 
if (days == FRI) 
{ 
    printf("Thank God it's Friday!"); 
} 

爲什麼在接受的答案額外的工作,以利用枚舉主如下?

+0

你的問題是什麼?你困惑C和C++嗎? – fukanchik

+0

@fukanchik也許我很困惑c99和C++ 11。我記得在學習c時,枚舉和struts可以在定義中聲明一個變量,但顯然這不是建議的,因爲下面的答案是規定的。 – Mushy

+0

該問題的接受答案實際上是不正確的。當兩行代碼出現在文件範圍時,會出現問題中描述的錯誤。查看我最近對[問題]的評論(https://stackoverflow.com/q/1102542/827263)。 –

回答

1

你的代碼應該可以工作。一般來說,雖然你指出的接受的答案是更好的編程實踐。希望將新類型的聲明與這些類型的使用分開。例如,如果您爲日處理編寫了一個庫,那麼可以在庫中包含枚舉工作日。但是,爲你的程序定義一個變量是一個不好的地方。隨着時間的推移,程序員們發現這種分離很有價值。它通常幫助代碼更具可讀性

+0

我可以欣賞你在這個答案中帶來的知識。我上面所代表的內容必須是定義和使用枚舉的舊方式。謝謝。 – Mushy

+0

@https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/s1-swap-adding.html如果我的回答回答了您的問題,請接受它 –