У меня есть структура с функцией обратного вызова, функция обратного вызова нуждается в указателе на структуру для выполнения своей операции.Как правильно определить эти элементы так, чтобы они компилировались без предупреждений?
typedef struct {
// some fields required for processing...
int (*doAction)(struct pr_PendingResponseItem *pr);
} pr_PendingResponseItem;
Если я удаляю атрибут «struct» в параметре pr, я получаю сообщение об ошибке.Если я оставлю это, я получу предупреждение: «его область действия - только это определение или объявление, что, вероятно, не то, что вы хотите»
Все это работает, но я хотел бы знать, как правильно определитьтакая структура.
Также связано определение собственной ссылочной структуры:
typedef struct LinkedItem_ {
LinkedItem_ * prev;
LinkedItem_ * next;
void * data;
} LinkedItem;
(Я думаю, что это правильно, но дополнительные мысли приветствуются, если это связано с вопросом.)