cannot use hoge (type bool) as type _Ctype__Bool in field value
/koki/cgoとC99のbool型
stdbool.hのboolにgolangのboolをassignしようとしたらおこられてる。
どうして……。
type.h
typedef struct {
bool Huga;
} Hoge;
code.go
type T struct {
B bool
}
t := T{}
h := C.Hoge{Huga: T.B}
みたいなコードを書いたら怒られた。
workaround.go
h := C.Hoge{Huga: (C.bool)(T.B)}
みたいに書いたら通った。
どうして……。
ok.go
h := C.Hoge{Huga: true}
みたいなのは問題無いだけに謎。
#go #cgo