Maison >développement back-end >C++ >Comment puis-je déclarer en avant des classes C imbriquées ?
Déclaration directe des classes internes
Il peut être souhaitable de référencer des classes imbriquées sans inclure leur fichier d'en-tête de définition. Cependant, tenter de déclarer des classes internes en dehors de leur classe conteneur peut entraîner des erreurs de compilation.
Considérez l'exemple suivant :
class Container { public: class Iterator { ... }; ... }; class Foo { void Read(Container::Iterator& it); };
La compilation de ce code entraînera des erreurs dues à l'incomplétude type de conteneur et le non déclaré variable.
Solution
Malheureusement, il n'est pas possible de déclarer des classes internes en dehors de leur classe conteneur. Le standard C ne permet pas cette syntaxe. Par conséquent, résoudre ce problème nécessite des solutions alternatives :
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!