Bonjour,
j'ai eu un petit souci avec une méthode. Je l'ai résolu mais je ne comprends pas comment...
Pour expliquer, voici mon code: (j'ai enlevé les include et tout ça...)
Dans main.cpp:
Dans myObject.cpp
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 void displayObj(const vector<myObject> &theObjects); int main() { ... } void displayObj(const vector<myObject> &theObjects) { for(unsigned int i(0); i < theObjects.size(); i++) { theObjects[i].afficher(); } }
Dans cette configuration là mon code ne compile pas. L'erreur est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void myObject::afficher() { cout << "Nom : " << m_nom << ", Age : " << m_age << endl; }
Et lorsque j'enlève le 'const' en paramètre de ma fonction displayObj, là je n'ai plus de problèmes! Mais je ne comprends pas pourquoi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 error: passing 'const Arme' as 'this' argument of 'void myObject::afficher()' discards qualifiers
Si certains ont une explication, merci![]()
Partager