Я пытался определить общую функцию, чтобы принимать входной сигнал с помощью _Generic в C, это то, что я написалКак определить общую функцию для ввода ввода в C с помощью _Generic?
#include <stdio.h>
#define readlong(x) scanf("%lld",&x);
#define read(x) scanf("%lld",&x);
#define scan(x) _Generic((x), \
long long: readlong, \
default: read \
)(x)
но когда я скомпилировать его с помощью gcc test.c -std=C11
на GCC 5.3.0, я получаю ошибку:
error: 'readlong' undeclared (first use in this function)
ли [этот вопрос] (http://stackoverflow.com/questions/9804371/syntax-and-sample-usage-of-generic-in-c11) помочь? –
@MichaelWalz Я уже прочитал это. – Yogendra
Удалить строки ';' после '# define'. –