我试图使用函数指针,它有点像这样:
#include "stdio.h"
typedef void (*func)(int*, int*);
void func1(int *a, int*b)
{
printf("Func1\n");
}
void func2(int *a, int*b)
{
printf("Func2\n");
}
void func3(int *a, int*b)
{
printf("Func3\n");
}
int main()
{
int i;
func f[] = {
func1, func2, func3
};
printf("Hello\n");
for(i=0; i< 3; i++)
{
func fn = f[i];
*(fn)(&i, &i);
}
return 0;
}
我总是犯错误:“虚空值不应该被忽略”
不知道,怎么克服这个。有人能帮忙吗?
最佳答案
您需要使用如下:(*fn)(&i, &i);
关于c - 在C中使用typedef函数指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19033862/