在我的主包中:
var foo C.int
foo = 3
t := fastergo.Ctuner_new()
fastergo.Ctuner_register_parameter(t, &foo, 0, 100, 1)
在 fastgo 包中我有:
func Ctuner_register_parameter(tuner unsafe.Pointer, parameter *C.int, from C.int, to C.int, step C.int) C.int {
...
}
如果我尝试运行它,我会得到:
demo.go:14[/tmp/go-build742221968/command-line-arguments/_obj/demo.cgo1.go:21]: cannot use &foo (type *_Ctype_int) as type *fastergo._Ctype_int in function argument
我不太确定 go 在这里试图告诉我什么,但不知何故我认为它想告诉我,所有 C.int 都不相等?为什么会这样?我该如何解决这个/解决方法?