Bonjour,
y as un truc que je ne pige pas trop. dans ce code
fait une erreur car "essai" n'est pas une string et ne peut donc être passé en référence. Ca ok.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <iostream> #include <string> using namespace std; struct A { A(string & s):m_s(s){}; string m_s; }; int main() { A a("essai"); cout << a.m_s << endl; return 0; }
Par contre en ajoutant const dans le constructeur de A
ce code compile et fonctionne!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <iostream> #include <string> using namespace std; struct A { A(string const & s):m_s(s){}; string m_s; }; int main() { A a("essai"); cout << a.m_s << endl; return 0; }
Partager