【发布时间】:2012-02-28 22:14:57
【问题描述】:
我有这个代码:
int main()
{
unsigned char c;
enum state_t {
state1,
state2,
state3
} states;
enum state_t (*action[3])(char c);
state=state1;
initialize_state(action);
}
void initialize_state (enum state_t (*action[])(char c))
{
action[state1]=func1;
action[state2]=func2;
action[state3]=func3;
}
initialize_state(action); 出现分段错误。
【问题讨论】:
-
我不认为
state_t可以是本地类型,如果你想让一个函数返回它。尝试使其全球化。 -
事实上,就目前而言,这甚至无法编译。请发布一段正确的、经过良好测试的代码,准确地代表您的问题。
-
state是一个错字,我猜应该是states
标签: c segmentation-fault