У меня есть структура, которая принимает указатель на функцию, например:
typedef int (*node_transition_func)( wint_t );
typedef struct lex_dfa_arc_t {
node_transition_func func;
int expected_return_val;
struct lex_dfa_node_t * node;
} LEX_DFA_ARC_T;
И теперь я хочу создать функцию, которая возвращает функцию прототипа "int func (wint_c);"Например:
node_transition_func input_equals( wint_t input, wint_t desired ) { ... }
Возможно ли в C, чтобы вышеуказанная функция действительно работала?Я пытаюсь избежать необходимости определять функцию для каждой буквы (например, input_equals_letter_a, input_equals_letter_b, input_equals_letter_c и т. Д.).
Мой другой подход заключается в том, чтобы просто принять node_transition_func в wint_t и wchar_t *желаемых персонажей, но мне было любопытно, сработает ли мой первый подход.
Спасибо!