Следующий код не работает, если я добавлю деталь, чтобы найти элемент.Без этой части первая часть кода работает для добавления и отображения элементов stl::map
#include<iostream>
#include<map>
#include<utility>
using namespace std;
int main()
{
int n, k, q;
char *v;
map<int, char*> m1;
map<int, char*>::iterator it;
cout << "enter number of elements\n";
cin >> n;
cout << "enter number and string- \n";
for(int i=0; i<n; i++)
{
cin >> k;
cin >> v;
m1.insert(pair<int, char*>(k, v));
}
cout << "elements are- " << endl;
for (it=m1.begin(); it!=m1.end(); it++)
cout << it->first << " " << it->second << "\n";
/* if the code is kept up to this and compiled,
the map elements are displayed. If the following code is added
to find the element, the application crashes just after taking
an input to fill the map */
cout << "enter a key to find element\n";
cin >> q;
it = m1.find(q);
if(it!=m1.end())
cout << it->first << " " << it->second ;
else
cout << "key was not found\n";
return 0;
}