Я реализую абстрактный тип данных Map для класса моих алгоритмов, и нас попросят реализовать его с использованием 2 массивов.Ошибка выполнения, неспособная определить причину
Я сделал реализацию прошлой ночью, и все сработало хорошо (когда мы отправляем задание онлайн, оно проверяется с помощью автотестов), и оно проходило каждый тест. Тогда мне нужно было реализовать его с помощью бинарного поиска, и я это сделал.
Сегодня утром, когда я запустил код, он дал мне ошибку времени выполнения, и я думаю, что причиной этого является мой конструктор копирования, потому что, когда я прокомментировал это, код работал нормально, но мой конструктор копий точно так же, как мой наставник реализовал его ,
Вот код, он выходит из строя на:
ArrayMap<string,string> m;
string s1("Sarajevo"), s2("Zagreb");
m[s1] = "BiH";
m[s2] = "Hrvatska";
{
ArrayMap<string,string> m2(m);
ArrayMap<string,string> m3;
m3=m;
m.empty(s1);
cout << m2.numOfElements() << " ";
cout << m2[s1] << " ";
cout << m3.numOfElements() << " ";
cout << m3[s1] << " ";
}
cout << m.numOfElements();
cout << " '" << m[s1] << "' ";
m.obrisi();
cout << m.numOfElements();
cout << " '" << m[s2] << "'";
А вот конструктор:
ArrayMap(const NizMapa<TypeOfKey, TypeOfValue>& rhs){
_capacity = rhs._capacity;
_numOfElements = rhs._numOfElements;
_arrayK = new TypeOfKey[_capacity];
_arrayV = new TypeOfValue[_capacity];
for(int i = 0; i<_numOfElements; i++){
_arrayK[i] = rhs._arrayK[i];
_arrayV[i] = rhs._arrayV[i];
}
}
EDIT:
ВПЧЭ
ArrayMap<string,string> m;
string s1("Sarajevo"), s2("Zagreb");
m[s1] = "BiH";
m[s2] = "Hrvatska";
ArrayMap<string,string> m2(m);
cout << m2[s1] << " " << m2.numOfElements();
/* When I do just this it works fine, but when combined with others it crashes the program*/
EDIT: http://pastebin.com/vXdBTs4nЭто реализация класса: NizMapa является ArrayMap _kapacitet является _capacity _brojE является _numOfElements TipKljuca является TypeOfKey TipVrijednosti является TypeOfValue методы: obrisi пуста/удалить (2 версии)
Примечание: это не является бинарная поисковая версия, это последовательный поиск. Если какая-либо дополнительная информация необходима, пожалуйста, спросите, это важно. Спасибо заранее!
Точная ошибка будет в порядке. ;) – Devolus
Это приложение потребовало, чтобы среда выполнения завершила его необычным способом. Пожалуйста, свяжитесь с нами ... – Matsura
Вы также реализовали 'operator ='? – Henrik