Вы можете создать массив функций в C следующим образом:
(*funcs[3]) = {
fna,
fnb
};
Хотите знать, можете ли вы сделать то же самое, но для типов данных или структур.
Когда я делаю:
struct foo[3] = {void, int, char};
Я получаю эту ошибку:
error: expected identifier or '('
struct foo[3] = {void, int, char};
Цель состоит в том, чтобы я пытался динамически получить тип данных из массива для va_list
и va_arg
:
va_arg(my_va_list, foo[1]);
Интересно, возможно ли что-нибудь подобное.
Это похоже на идею возврата типа данных из функции. Что-то вроде:
type
return_integer_type() {
return int;
}
Если это тоже возможно , было бы интересно узнать, но не оригинальный вопрос.