J'ai la structure ci-dessous du projet:type incomplet dans struct C
fichier- ah
#pragma once
struct best_fit_struct {
void *next;
size_t size;
};
fichier
- bh
#pragma once
typedef struct mm_t {
int type;
union {
struct best_fit_struct best_fit_mm;
} per_mm_struct;
void *memory;
} mm_t;
fichier
- bc
#include "a.h"
#include "b.h"
sur compiler bc en utilisant gcc -c b.c
, il jette l'erreur suivante
file best_fit_mm has incomplete data type
J'ai inclus a.h
avant b.h
, de sorte que la commande semble bon pour moi. Étonnamment, si j'inclue a.h
à b.h
, les choses se résolvent.
@SouravGhosh corrigé la faute de frappe dans la question –
sont « a.h » et « b.h » dossiers complets? N'y a-t-il pas de gardes? – peper0
@ peper0 J'ai utilisé #pragma une fois dans les deux –