I tried to pass const with vector it works: Ex:
void damn(const vector <bool> &bb)
{
for (int i = 0; i < bb.size(); i++)
cout << bb[i] << endl;
}
But when trying with map, it does not:
void pas(const map <string, float> &mm)
{
cout << mm["a"];
cout << mm["b"];
}
I wonder why it doesn't.
I believe that it is because []
in map isn't const
, as it creates new pair with default value, if you address to nonexisting one. Try
void pas(const map <string, float> &mm)
{
cout<<mm.find("a")->second;
cout<<mm.find("b")->second;
}