bonjour, pardonnez mon intrusion,
sans c++11, comment est t-il possible de créer un vecteur d'une structure avec des membres constants sans passer par des pointeurs ?
Merci par avance.
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
17
18
19
20
21
22
23
24
25
26 #include <vector> struct S_Foo { S_Foo( const float x ) : x( x ) {} float x; }; class C_Foo {//Marche sans soucis avec des classes public: C_Foo( const float x ) : x( x ) {} const float X() const { return x; } private: float x; }; int main() { std::vector < C_Foo > cfootab; cfootab.push_back( C_Foo(5)); cfootab[0].x = 3;// Erreur cfootab[0].x est "constant" (pas d'accès public) std::vector < S_Foo > sfootab; sfootab.push_back( S_Foo(5));// comment rendre sfootab[0].x constant ? sfootab[0].x = 3;// modification possible de x return 0; }
Partager