exo1.cpp: Dans le constructeur « X::X(int) »:
exo1.cpp:6:31: erreur: affectation du membre « X::value » en lecture seule
6 | X(int v) : value{v} { value += 10; } // const donc non
| ~~~~~~^~~~~
exo1.cpp: Dans la fonction « void f() »:
exo1.cpp:15:20: erreur: le passage de « const X » comme argument « this » abandonne les qualificatifs [-fpermissive]
15 | pi = &(x.getValue()); // perd l’attribue const
| ~~~~~~~~~~^~
exo1.cpp:7:14: note: dans l’appel de « const int& X::getValue() »
7 | const int &getValue() { return value; }
| ^~~~~~~~
exo1.cpp:17:7: erreur: affectation de l’emplacement « * pi » en lecture seule
17 | *pi = 34; // const donc non
| ~~~~^~~~
exo1.cpp:18:28: erreur: le passage de « const X » comme argument « this » abandonne les qualificatifs [-fpermissive]
18 | const int &k = x.getValue(); // perd l’attribue const
| ~~~~~~~~~~^~
exo1.cpp:7:14: note: dans l’appel de « const int& X::getValue() »
7 | const int &getValue() { return value; }
| ^~~~~~~~
exo1.cpp: Dans la fonction « int main() »:
exo1.cpp:25:22: erreur: lier la référence du type « int& » à « const int » abandonne les qualificatifs
25 | int &j = x.getValue(); // perd l’attribue const
| ~~~~~~~~~~^~
exo1.cpp:26:9: erreur: « const int X::value » est privé dans ce contexte
26 | i = x.value; // private
| ^~~~~
exo1.cpp:3:13: note: déclaré privé ici
3 | const int value;
| ^~~~~
exo1.cpp:26:9: note: le champ « const int X::value » peut être accessible via « const int& X::getValue() »
26 | i = x.value; // private
| ^~~~~
| getValue()