bonjour ,
G un projet avec 2 cpp et 2 .h .
Je souhaiterai déclarer et initialiser 1 variable string gloable (les 2 cpp ).
G essayé plusieurs truc mais bof....
si je déclare string str ; erreur dans la déclaration
merci beaucoup par avance![]()
bonjour ,
G un projet avec 2 cpp et 2 .h .
Je souhaiterai déclarer et initialiser 1 variable string gloable (les 2 cpp ).
G essayé plusieurs truc mais bof....
si je déclare string str ; erreur dans la déclaration
merci beaucoup par avance![]()
Bonjour,
As-tu déclaré l'utilisation du namespace standard avant?
Afin d'éviter les variables globales de ce type ( pas bien! ).using namespace std;
// ou
using std::string;
Tu à plusieurs autres approches plus propres et respectant la philosophie OO.
1- Déclarer la string avant de passer la référence au constructeur des deux classes. Attention à la durée de vie de la string
2- Encapsuler la string dans une classe, prévoir les services offert par ta classe et les implémenter. Instancier la classe 1 fois et passer la référence sur au constructeur des deux classes. Attention à la durée de vie de la classe
La deuxième solution est de loin préférable si tu travail en multithread, tu pourras ainsi pouvoir mettre en œuvre des mécanismes de synchronisation correctement dans les services donnés.
G bien
using namespace std;
// ou
using std::string;
dans les 2 Cpp .
Pourquoi le type string pose un tel problème ?
si je veux découper un projet en plusieurs cpp pour une meilleure clarté sans faire de nouvelle classe , je le déclare comment ?
En C# on met partial class
merci beaucoup
As tu #include <string>
Quel est le message d'erreur?
N'as tu pas une autre variable global nommé str?
g cet include sur les 2 cpp .
Si je déclare string str -> erreur dans la déclaration
Si je déclare String str -> OK
Sauf que les membres entre string et String ne sont tout à fait les même ..
si je veux découper un projet en plusieurs cpp pour une meilleure clarté sans faire de nouvelle classe , je le déclare comment ?
En C# on met partial class
merci
Pour utiliser une variable définie dans un fichier a dans un fichier b tu dois la faire précéder du mot clé extern dans b.
dans a
dans b
Code : Sélectionner tout - Visualiser dans une fenêtre à part int truc = 0;
Mais, comme on te l'a dit l'utilisation des variables globales est unanimement déconseillée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part extern int truc;
Partager