私は問題があります -1にenumを代入すると戻り値は255ですか?C:列挙型に負の値を割り当てますか?
typedef enum test {
first,
second,
}soc_ctr_type_t
soc_ctr_type_t ctype;
switch(type){
case 1:
ctype = first;
break;
case 2:
ctype = second;
break;
default:
ctype = -1;
}
タイプ==デフォルトならば、私は見てのprintfを使用する場合、ctype関数は-1でなければなりませんが、それはありません、 、のctype == 255 誰かが私を助けることができますか?
をお読みください。つまり、コンパイラは、列挙のすべての値に対応する整数型を選択します。おそらく、 'typedef enum test {...、third = -1、} soc_ctr_type_t'を追加して、コンパイラが符号付き整数型を選択するようにするのは良い考えです。 –
問題が解決した場合は、大きなチェックボックスをクリックして答えとして受け入れます。これはコミュニティにあなたが解決策を見つけたことを示し、あなたと回答者にいくつかの評判を与えます。 – 2501