1

labelという名前の文字ポインターと、「label」という名前の要素を含む列挙子があります。ケースステートメントでそれらをどのように区別できますか?

switch((I_ARG_TYPES) progrm[i].arg[j].type){
case (I_ARG_TYPES) value:
    break;
case (I_ARG_TYPES) label:
    break;
default:
    break;
}

グローバルスコープ:

typedef enum I_ARG_TYPES {
    value, label
} I_ARG_TYPES;

スイッチと同じ機能で:

char label[MAXLINELENGTH]

ラベルのケースの「ケースラベルはintになりません」。

4

1 に答える 1

2

できません。(同様に、 を実行すると、そのスコープで関数をfloat printf呼び出すことはできません。)printf()

解決策: ローカル変数に、グローバル スコープのものと同じ名前を付けないでください。

于 2013-01-21T20:33:09.537 に答える