Операторы переключения в C: переменная в случае?

#include <stdio.h>
int main(int argc, char *argv[]){
    char a = 'c';
    switch('c'){
        case a:
            printf("hi\n");
    }
    return 0;
}

Вышеупомянутое не будет компилироваться для этой ошибки:

case label does not reduce to an integer constant

Почему это запрещено?

8
задан Joshua 14 August 2011 в 02:09
поделиться