cannot use hoge (type bool) as type _Ctype__Bool in field value

cannot use hoge (type bool) as type _Ctype__Bool in field value

/koki/cgoとC99のbool型
stdbool.hのboolにgolangのboolをassignしようとしたらおこられてる。
どうして……。

type.h
Copied!
typedef struct {
bool Huga;
} Hoge;
code.go
Copied!
type T struct {
B bool
}
t := T{}
h := C.Hoge{Huga: T.B}
みたいなコードを書いたら怒られた。
workaround.go
Copied!
h := C.Hoge{Huga: (C.bool)(T.B)}
みたいに書いたら通った。
どうして……。
ok.go
Copied!
h := C.Hoge{Huga: true}
みたいなのは問題無いだけに謎。

#go #cgo
Powered by Helpfeel