Смотрите простой пример ниже. Когда функция, возвращающая один enum
, присваивается переменной другого enum
, я не получаю никакого предупреждения даже при gcc -Wall -pedantic
. Почему компилятор языка Си не может выполнять проверку типов для enum
ов? Или это специфика gcc
? У меня сейчас нет доступа к другому компилятору, чтобы попробовать...
enum fruit {
APPLE,
ORANGE
};
enum color {
RED,
GREEN
};
static inline enum color get_color() {
return RED;
}
int main() {
enum fruit ftype;
ftype = get_color();
}