这个map如何赋值
map<double,map<string,map<double,int> > > result
我按如下的方式赋值时候为什么会错:
pair<double,int> a = make_pair(2.0,3);
result[2.0].insert(make_pair("good",a));
一个例子:
#include <string>#include <map>#include <iostream>#include<utility>using namespace std;int main(){ map<double,map<string,map<double,int> > > result; pair<double,int> a = make_pair(2.0,3); result[2.0].insert(make_pair("good",a));}
#include <string>#include <map>#include <iostream>#include<utility>using namespace std;int main(){ map<double,map<string,map<double,int> > > result; map<double,int> a; a.insert(make_pair(2.0,3)); map<string,map<double,int> >b; b.insert(make_pair("good", a)); result.insert(make_pair(2.0, b));}
[解决办法]
map<double,map<string,map<double,int> > > result
这个好强!!!
result.insert(make_pair(2.0, make_pair("key", make_pair(2.0, 2)));
result[2.0] = make_pair("key", make_pair(2.0, 2));
这样试试