Pourquoi le compilateur ne m’avance laissera à déclarer un typedef ?
En supposant que c’est impossible, ce qui est la meilleure pratique pour garder mon arbre inclusion petit ?
Pourquoi le compilateur ne m’avance laissera à déclarer un typedef ?
En supposant que c’est impossible, ce qui est la meilleure pratique pour garder mon arbre inclusion petit ?
Parce que, pour déclarer un type, sa taille doit être connue. Vous pouvez avant de déclarer un pointeur vers le type ou définition de type d'un pointeur vers le type.
Si vous le voulez vraiment, vous pouvez utiliser le pimpl idiome de garder le comprend vers le bas. Mais si vous souhaitez utiliser un type, plutôt qu'un pointeur, le compilateur doit connaître sa taille.
Edit: j_random_hacker ajoute une qualification importante pour cette réponse, en gros que la taille doit être de savoir pour utiliser le type, mais avant la déclaration peut être faite si l'on a seulement besoin de connaître le type existe, dans le but de créer des pointeurs ou des références de ce type. Depuis l'OP n'a pas montré de code, mais s'est plaint qu'il ne compile pas, je suppose (probablement à juste titre) que l'OP a été d'essayer d' utiliser le type, pas seulement de les consulter.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.