【发布时间】:2020-09-06 11:57:33
【问题描述】:
在执行此代码时,我在ptr = (void* (void*, void*))sumx; 行得到[Error] cast specifies function type
我正在尝试声明一个通用指针 ptr 指向一个名为 sumx 的函数
任何帮助将不胜感激。谢谢。
# include <stdio.h>
int sum(int a, int b) {
return a+b;
}
int* sumx(int *a, int *b) {
int *p;
*p = *a+*b;
return p;
}
int main() {
int (*p) (int, int);
void* (*ptr)(void*, void*);
p = sum;
ptr = (void* (void*, void*))sumx;
int s = (*p)(5, 6);
int a = 10;
int b = 20;
int *y = (*ptr)(&a, &b);
printf("%d\n", s);
printf("%d\n", *y);
return 0;
}
【问题讨论】:
-
sumx()返回int*.. 应该是int* (*ptr)(void*, void*);。
标签: c function pointers function-pointers