我已经声明了typedef void (*DoRunTimeChecks)();
如何将其作为结构体中的字段进行存储? 如何分配它?如何调用这个函数(fn())?
我已经声明了typedef void (*DoRunTimeChecks)();
如何将其作为结构体中的字段进行存储? 如何分配它?如何调用这个函数(fn())?
只需像处理其他字段一样将其放入:
struct example {
int x;
DoRunTimeChecks y;
};
void Function(void)
{
}
struct example anExample = { 12, Function };
给字段赋值:
anExample.y = Function;
调用该函数:
anExample.y();
#include <stdio.h>
typedef void (*DoRunTimeChecks)();
struct func_struct {
DoRunTimeChecks func;
};
void function()
{
puts("hello");
}
int main()
{
struct func_struct func_struct;
func_struct.func = function;
func_struct.func();
return 0;
}
void fn()
和void fn(void)
不是同义词。 - Chris Lutz