Ваш тест цикла for неверен:
for(cnt=0;array.size();cnt++){
Если в массиве есть какие-либо элементы, условие array.size()
всегда будет иметь значение true, и оно будет циклически выполняться вечно, где forever означает «до тех пор, пока array[cnt]
не выйдет за конец массива, и вы не получите нарушение доступа. «
Ты имеешь в виду нечто большее:
for(cnt=0; cnt < array.size(); ++cnt) {