2017-09-21 4 views
0

私はthisを見直しましたが、受け入れられた答えは私には意味がありません。私はC99列挙 - 明確化が必要

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

としてC99で列挙型を定義し、

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

としてメインに、次のように受け入れ答えに追加の作業が列挙型を利用するのはなぜ列挙型を利用することができるはずですか?

+0

あなたの質問は何ですか?あなたはCとC++を混乱させていますか? – fukanchik

+0

@fukanchikおそらく私はc99とC++ 11を混乱させるでしょう。列挙型とストラットが定義の中で変数を宣言できることを学んだときには思い出しますが、明らかにこれは下記の答えとして推奨されていません。 – Mushy

+0

その質問に対する回答は実際には間違っています。この問題に記載されているエラーは、2行のコードがファイルスコープに表示されたときに発生します。 [質問](https://stackoverflow.com/q/1102542/827263)に関する私の最近のコメントを参照してください。 –

答えて

1

コードが正しく動作するはずです。一般的に、あなたが指摘した答えはより良いプログラミング練習です。新しい型の宣言とそれらの型の使用を区別することが望ましいです。たとえば、日の操作のためのライブラリを作成した場合、そのライブラリに平日の曜日を含めることができます。しかし、それはあなたのプログラムが使う変数を定義するには悪いところです。 時間の経過とともに、プログラマーはこのような分離を貴重なものにしています。一般的にはコードを読みやすくするのに役立ちます

+0

私はあなたがこの答えにもたらす知識を理解することができます。上記の表現は、enumを定義して使用する古い方法でなければなりません。ありがとうございました。 – Mushy

+0

@https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/s1-swap-adding.html私の答えがあなたの質問に答えたらそれを受け入れてください –

関連する問題