Enum la portée des questions

J'essaie de garder les choses aussi local que possible, j'ai donc mis les énumérations à portée de classe, même si elles sont partagées entre deux classes (je l'ai mis dans la classe qui "va mieux" avec elle.) Cela a très bien fonctionné, mais j'ai récemment rencontré un problème où une dépendance circulaire va se produire si j'ai mis l'enum à portée de classe.

L'enum est va être un argument du constructeur pour plusieurs classes, et la classe il est (et de la classe qui fait le plus de sens pour lui d'être dans) comprend les classes. Ainsi, il n'est pas possible d'utiliser les enum comme un argument du constructeur pour les classes incluses, car elle aura pour conséquence une dépendance circulaire.

Serait-il mieux de mettre juste ce enum dans son propre fichier d'en-tête, et si oui, dois-je mettre toutes les énumérations dans le fichier d'en-tête pour être cohérent? Existe-il d'autres solutions à ce problème (c'est logique)?

  • avez-vous essayé de déclaration?
  • Avant les déclarations seulement vous permettre d'accéder le nom du type. Vous ne pouvez pas accéder à l'interface ou de l'instancier ou de faire quelque chose comme ça.
InformationsquelleAutor Anonymous | 2009-11-15