我试图使用函数指针,它有点像这样:

#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/

10-11 23:10
查看更多