Co jest nie tak z tym kodem?
int mysearch(vector<int>::iterator first, vector<in>::iterator last, const int m)
{
vector<int>::iterator srodek;
if(first>last) return 0;
*srodek=((*last+*first)>>1);
cout<<"srodek: "<<*srodek<<endl;
cout<<"first: "<<*first<<endl;
cout<<"last: "<<*last<<endl;
if(m<*srodek)
return mysearch(first, srodek-1, m);
if(m>*srodek)
return mysearch(srodek+1, last, m);
return *srodek;
}
Po wywołaniu tej funkcji program zatrzymuje się komunikatem "Naruszenie ochrony pamięci".