e149.c
enum を使った switch 文





コード例:
/* enum の ESwitch 型を宣言 */
typedef enum {
ES_A = 10,
ES_B = 20,
ES_C = 30
} ESwitch ;
extern ESwitch func(void) ;
int main(void)
{
ESwitch es = func() ;
switch( es )
{
case ES_A :
/* process A */
break ;
case ES_B :
/* process B */
break ;
/*
* 100 は ESwitch 型が表現できない値であるため、
* 実行されない可能性があります
*/
case 100 :
/* process 100 */
break ;
default :
/* process default */
break ;
}
return es ;
}
解説:
switch 文の条件式として指定された enum 変数が
case の値を表現できない場合に警告します。
今のままではデッドコード(実行されないコード)ですので、
適切な修正を望みます。