У меня есть два файлы .h и .c файл как нижеForward декларация бросает ошибка переопределение
ах
typedef struct mode_info_t_ mode_info_t;
struct common {
int create;
mode_info_t *mode_info;
};
ЬН
typedef struct mode_info_t_ {
int primary;
int secondary;
} mode_info_t;
main.c
#include "a.h"
#include "b.h"
-----
Когда .c скомпилировано, он бросает ниже err или -
b.h: 17: ошибка: переопределение ЬурейеГо 'mode_info_t'
хиджра: 50: ошибка: предыдущая декларация 'mode_info_t' здесь
Что-то здесь эксперты?
Я не эксперт с typedef, но вы дважды набираете mode_info_t, один раз как другую переменную и еще раз как структуру ... что еще сказать? – Sam
Это то, о чем говорит ошибка ... вы переопределили тип. Однако это не 'struct mode_info_t_', а' mode_info_t', который вы написали. – Dmitri
@BLUEPIXY Вы правы. Еще одна причина заключается в том, почему несколько раз приходится вводить 'typedef' для одной и той же структуры. А также наличие пользовательского типа данных внутри структуры? – Gopi