Задать псевдоним к типу из си
Как задать псевдоним для типа из си? Я делаю как-то так:
type Display *_Ctype_struct__XDisplay
Но при компиляции получаю следующую ошибку:
identifier "_Ctype_struct__XDisplay" may conflict with identifiers generated by cgo
Проблема в том, что эта ошибка появляется и при попытке указать этот тип как результат функции. Как это можно решить?
Ответы (1 шт):
Автор решения: Ainar-G
→ Ссылка
type A B — это не объявление
псевдонима, а создание нового типа. Объявление
псевдонима — это
type A = B. Если там структура,
то то, чего вы хотите, делается так:
import "C"
type Display C.struct_XDisplay
Из документации:
To access a struct, union, or enum type directly, prefix it with struct_, union_, or enum_, as in C.struct_stat.