У меня есть ниже структура проекта:Неполного типа в C структуру
файл - ах
#pragma once
struct best_fit_struct {
void *next;
size_t size;
};
файл - ЬН
#pragma once
typedef struct mm_t {
int type;
union {
struct best_fit_struct best_fit_mm;
} per_mm_struct;
void *memory;
} mm_t;
файл - Ьс
#include "a.h"
#include "b.h"
на компиляция bc с использованием gcc -c b.c
, it бросает следующую ошибку
file best_fit_mm has incomplete data type
Я включил a.h
до того b.h
, поэтому порядок выглядит собственно мне.
Удивительно, но если я включаю a.h
внутри b.h
, все будет решено.
@SouravGhosh исправил опечатку в вопросе –
ли «хиджры» и полные файлы «b.h»? Нет ли охранников? – peper0
@ peper0 Я использовал #pragma один раз в обоих из них –