问题
Iam new to vc++.Iam trying to write program using map::insert function in below code
int _tmain(int argc, _TCHAR* argv[]){
int arr[3] ={0,1,2};
map <int, int[3]> mymap;
std::map<int,int[3]>::iterator it = mymap.begin();
mymap.insert(it,std::make_pair(1,arr));
}
Iam getting error C2664: 'std::pair<_Ty1,_Ty2> std::_Tree<_Traits>::insert(std::pair &&)' : cannot convert parameter 2 from 'std::pair<_Ty1,_Ty2>' to 'std::pair<_Ty1,_Ty2> &&'
can you please give solution how to solve this error
Thanks
回答1:
storing C array is not a good idea, use std::array instead.
using Arr = std::array<int, 3>;
Arr arr = { 0, 1, 2 };
std::map <int, Arr> mymap;
auto it = mymap.begin( );
mymap.insert( it, std::make_pair( 1, arr ) );
来源:https://stackoverflow.com/questions/21461573/insert-issue-with-arrays