Задать псевдоним к типу из си

Как задать псевдоним для типа из си? Я делаю как-то так:

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.

→ Ссылка