См. простой пример ниже. Когда функция, возвращающая один enum
, присваивается переменной другого enum
, я не получаю никаких предупреждений даже с gcc -Wall -pedantic
. Почему компилятор C не может выполнять проверку типов на enum
s? Или это 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();
}