用到map,但是不太会用,trans_map.insert(make_pair(strK,strV));是插入2个值得吧,MSDN上说它可以支持任意类型的数据,为什么我用了2个字符串数组,就出来下边这些毛病呢?
error C2664: '__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(const class std
::allocator<char> &)' : cannot convert parameter 1 from 'const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5]' to 'const class std::allocator<char> &'
Reason: cannot convert from 'const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5]' to 'const class std::allocator<char>'
No constructor could take the source type, or constructor overload resolution was ambiguous
e:\graduation project\hashtest\graduationprogram3\graduationprogramdlg.cpp(208) : see reference to function template instantiation '__thiscall std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >
const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_
traits<char>,class std::allocator<char> > >(const struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5],class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5
]> &)' being compiled
d:\program files\vc98\include\utility(23) : error C2664: '__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(const class std
::allocator<char> &)' : cannot convert parameter 1 from 'const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5]' to 'const class std::allocator<char> &'
Reason: cannot convert from 'const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5]' to 'const class std::allocator<char>'
No constructor could take the source type, or constructor overload resolution was ambiguous
e:\graduation project\hashtest\graduationprogram3\graduationprogramdlg.cpp(208) : see reference to function template instantiation '__thiscall std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >
const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_
traits<char>,class std::allocator<char> > >(const struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5],class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5
]> &)' being compiled
执行 cl.exe 时出错.
error C2664: '__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(const class std
::allocator<char> &)' : cannot convert parameter 1 from 'const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5]' to 'const class std::allocator<char> &'
Reason: cannot convert from 'const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5]' to 'const class std::allocator<char>'
No constructor could take the source type, or constructor overload resolution was ambiguous
e:\graduation project\hashtest\graduationprogram3\graduationprogramdlg.cpp(208) : see reference to function template instantiation '__thiscall std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >
const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_
traits<char>,class std::allocator<char> > >(const struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5],class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5
]> &)' being compiled
d:\program files\vc98\include\utility(23) : error C2664: '__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(const class std
::allocator<char> &)' : cannot convert parameter 1 from 'const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5]' to 'const class std::allocator<char> &'
Reason: cannot convert from 'const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5]' to 'const class std::allocator<char>'
No constructor could take the source type, or constructor overload resolution was ambiguous
e:\graduation project\hashtest\graduationprogram3\graduationprogramdlg.cpp(208) : see reference to function template instantiation '__thiscall std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >
const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_
traits<char>,class std::allocator<char> > >(const struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5],class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [5
]> &)' being compiled
执行 cl.exe 时出错.
trans_map.insert(make_pair<string, string>(strK,strV));
string strk = "1";
string strt = "2";
map<string,string> trans_map;
trans_map.insert(make_pair(strk,strt));
string strID = "001",
strName = "stu1";
arrStuInfo.insert(make_pair<string, string>(strID, strName));