Bonjour,
J'ai un problème avec une méthode à l'intérieur d'une classe, j'ai un message d'erreur que je ne comprends pas.


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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<iostream>
#include<string>
using namespace std;
 
class A
 {
 
 public:
   int hf(const string name,const string addr){
     string s=name+addr;
      unsigned long hash = 5381;
      char c;
      for(unsigned int i=0; i<s.size(); i++)
	{
	  c=s[i++];
	  hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
	}
      if (hash>0)
	return hash;
      /*else
	return -hash;*/
    }
//.....
// méthode qui ne marche pas....
    bool methodeproblematique        ( const string    & name,
                        const string    & addr,
                        int             & sumIncome,
                        int             & sumExpense ) const
   {
     int key=hf(name,addr);
     return true;
   }
    // todo 
 };
 
int main()
{
  //....
  return 0;
}
Message d'erreur:
forum.cpp: In member function ‘bool CTaxRegister::Audit(const string&, const string&, int&, int&) const’:
forum.cpp:30:26: error: passing ‘const CTaxRegister’ as ‘this’ argument of ‘int CTaxRegister::hf(std::string, std::string)’ discards qualifiers [-fpermissive]
Comment puis je résoudre ce problème?