【发布时间】:2018-11-04 06:52:38
【问题描述】:
我正在尝试让这段代码运行..
#include <stdio.h>
int *myMethod(int *a)
{
printf("Hello");
return a;
}
int main()
{
// my_ptr is a pointer to function myMethod()
int *my_ptr(int *) = myMethod;
// Invoking myMethod() using my_ptr
int a = 5;
int *p = (*my_ptr)(&a);
printf("Bye %d\n", *p);
return 0;
}
我认为我的函数指针 my_ptr 的语法是正确的,它可以将 int 指针作为参数并返回一个 int 指针,但是当我编译它时,我收到以下错误:
error: function 'my_ptr' is initialized like a variable
int *my_ptr(int *) = myMethod;
有人可以解释错误/问题吗?谢谢!
【问题讨论】:
-
开始更简单,使用返回和获取整数的函数,而不是指针,你会发现问题出在哪里。