Insert issue with arrays

两盒软妹~` 提交于 2019-12-20 07:07:44

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!