est-il un problème avec la déclaration d'une classe avec un membre statique qui est une autre classe dans un en-tête. Par exemple:classe C++ déclarée en tant que membre de la classe statique
class Stat
{
public:
int avar;
Stat();
};
class Test
{
public:
static Stat stat;
};
La raison pour laquelle je crains qu'il pourrait causer des problèmes est qu'il semble très similaire à déclarer une variable globale dans un en-tête. S'il est inclus dans deux fichiers cpp, le global est déclaré dans les deux fichiers entraînant une erreur. 'Stat' dans l'exemple ci-dessus doit encore être créé une seule fois entre deux fichiers cpp de la même manière qu'un global alors comment le compilateur peut-il gérer une situation mais pas l'autre ou est la réponse qu'elle ne peut pas?
Ces définitions sont __CLASS, pas declarations__. 'Test :: stat', howver, est juste un declaration__ de __member et a encore besoin d'une définition. (Voir [cette réponse] (http://stackoverflow.com/questions/1410563/what-is-the-difference-between-a-definition-and-a-declaration/1410632#1410632) pour quelles déclarations et définitions C++.) – sbi