Gick tydligen att lösa såhär istället,
if(mp[str]==NULL)
mp.insert(make_pair(str,1));
else
mp[str]++;
/Viktor
3 svar · 202 visningar · startad av Viktor
Jag har en map<string,int> där jag vill öka int-en med 1 ofta (dvs göra en ++). Hur kan jag göra det?
Jag har provat med detta
m1=mp.find(str);
if(m1!=mp.end())
m1->second++;
Men second verkar vara en const int. Men det är något liknande som jag vill göra.
/Viktor
Gick tydligen att lösa såhär istället,
if(mp[str]==NULL)
mp.insert(make_pair(str,1));
else
mp[str]++;
/Viktor
Märkligt, i min värld skall second inte vara konstant.
Fungerar denna kod?
#include <map>
int main()
{
typedef std::map<int,int> M ;
M m;
M::iterator i = m.find(3);
i->second = 45;
}
Efter lite mer tänkande kom jag på det "riktiga" felet
map<string,int>::[B]const[/B]_iterator m1;
:OO
Japp, hjärnan är inte alltid inkopplad...
/Viktor