Maison > Article > développement back-end > Pourquoi ne puis-je pas déclarer un Typedef en C ?
Déclaration directe d'un typedef en C
Il peut sembler intuitif qu'une déclaration directe d'un typedef soit possible, comme c'est le cas avec une classe. Cependant, le compilateur ne le permettra pas. Au lieu de cela, il est nécessaire de déclarer le type auquel le typedef fait référence.
Par exemple, disons que nous voulons créer un typedef pour une classe appelée A :
typedef A B; // error: 'A' was not declared in this scope
Pour résoudre ce problème , nous devons d'abord déclarer la classe A :
class A; typedef A B; // valid
Cela nous permet de référencer le type B plus tard dans notre code, même si la définition complète de A n'est pas encore connu.
Meilleure pratique pour minimiser l'arbre d'inclusion
Comme nous ne pouvons pas transmettre les typedefs, la meilleure pratique pour garder l'arbre d'inclusion petit est d'inclure uniquement les en-têtes qui sont nécessaire à l'unité de compilation actuelle. Ceci peut être réalisé en utilisant des gardes d'inclusion et en gérant soigneusement les dépendances entre les en-têtes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!