Bonjour,
suite à une migration d'un programme C++ compilé avec Visual Studio vers gcc de Linux, j'ai du faire quelques changement dont un qui m'a surpris.
Sous Visual, voici le .h :
Le .cpp, toujours avec Visual :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class A { ... void Methode(); private: static const char TYPE='A'; };
Avec gcc, TYPE est inconnu...il faut donc ajouter la déclaration pour étendre la portée, soit dans le .cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void A::Methode() { cout<<TYPE; }
Quelqu'un peut il m'éclairer sur ce sujet ? et si quelqu'un sait, que dit la norme POSIX ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 const char A::TYPE;
Merci
Partager