本人最近在做项目的时候,遇到了这个问题:go怎么向c传递函数指针:
![1.png](https://static.studygolang.com/210222/2e5c6290499961287fdf9c62cd559d25.png)
上面这段代码会报错:
![2.png](https://static.studygolang.com/210222/ed72326efc5630458fb9d03777bf8d81.png)
提示要传入*[0]byte类型,这该怎么办???
更多评论
把函数赋值放到C里做?
```
package main
/*
typedef struct{
int (*a)(int);
}A;
extern int fn(int n);
static void setCallBack(){
A a={
.a=fn
};
}
*/
import "C"
func main() {
C.setCallBack()
}
//export fn
func fn(i C.int) C.int {
return i
}
```
#1