【发布时间】:2010-12-13 15:05:19
【问题描述】:
我有一个带有函数指针的结构,如下所示:
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*,但我很好奇我的第一种方法是否可行。
谢谢!
【问题讨论】:
-
直到现在我才知道“currying”这个词,我发现这个帖子解释了很多:stackoverflow.com/questions/1023261/…
标签: c