До сих пор я думал, что если аргумент функции равен enum
, тогда он может содержать только значения, определенные внутри enum
. Но в моем случае это оказалось неправильным.Какова фактическая цель enum как аргумент функции?
Код:
typedef enum
{
a = 0,
b,
c
} X;
typedef enum
{
e = 3
} Y;
void fn (X var)
{
printf ("%d",var);
}
int main()
{
fn (e);
return 0;
}
Функция fn()
приняла значение е и его выход был 3. Почему это происходит?
Укажите язык, который вы используете, чтобы задать теги. Перечисления являются общими для многих языков, и соответствующий тег привлечет внимание экспертов на интересующем вас языке. И такой тег также добавит приятное форматирование в ваш код. – Artemix