C++ vector 嵌套 map
如题代码如下vector<map<char*,int>>ss;vector<map<char*,int>>::iteratorit;map<char*,int>s;s.i...
如题 代码如下
vector<map <char*,int> > ss;
vector<map <char*,int> > ::iterator it;
map <char*,int> s;
s.insert(map <char*,int> ::value_type("12",3));
s.insert(map <char*,int> ::value_type("23",4));
ss.push_back(s);
ss.push_back(s);
在网上没看到有vector 嵌套map的,就写了一个试试。
但是到了 push_back()的地方就会报错。。
是不能这样嵌套么?
用标准的C-free 编译没问题,VS2010 报错
d:\vc_project\bbbtets\bbbtets\ss.cpp(10): 参见对正在编译的函数 模板 实例化“std::pair<_Ty1,_Ty2>::pair<const char(&)[5],int>(_Other1,_Other2 &&)”的引用
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\utility(163): error C2439: “std::_Pair_base<_Ty1,_Ty2>::first”: 未能初始化成员 展开
vector<map <char*,int> > ss;
vector<map <char*,int> > ::iterator it;
map <char*,int> s;
s.insert(map <char*,int> ::value_type("12",3));
s.insert(map <char*,int> ::value_type("23",4));
ss.push_back(s);
ss.push_back(s);
在网上没看到有vector 嵌套map的,就写了一个试试。
但是到了 push_back()的地方就会报错。。
是不能这样嵌套么?
用标准的C-free 编译没问题,VS2010 报错
d:\vc_project\bbbtets\bbbtets\ss.cpp(10): 参见对正在编译的函数 模板 实例化“std::pair<_Ty1,_Ty2>::pair<const char(&)[5],int>(_Other1,_Other2 &&)”的引用
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\utility(163): error C2439: “std::_Pair_base<_Ty1,_Ty2>::first”: 未能初始化成员 展开
3个回答
展开全部
#include <map>
#include <vector>
#include <string>
void f(std::vector<std::map<std::string, int> >& ss)
{
std::map<std::string, int> s;
s.insert (std::make_pair("12", 3));
s.insert (std::make_pair("23", 4));
ss.push_back(s);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
vs2010没更新了。用2012吧。支持标准多一些。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
报错的是map的问题
map<key,value> ; 你可以用map<string,int>
map<key,value> ; 你可以用map<string,int>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询