0 / 0 / 1
Регистрация: 01.02.2012
Сообщений: 11
|
||||||||||||||||
1 | ||||||||||||||||
Почему кидает SEHException?28.05.2013, 10:29. Показов 588. Ответов 1
Метки нет (Все метки)
Здравствуйте! Ситуация такова: есть клас DCEL (рёберный список с двойной связностью). В нём два public метода: EdgesForVertex - возвращает список указателей на рёбра, смежные c данной вершиной; EdgesForFaces - возвращает список указателей на рёбра, ограничивающие данную грань.
По структуре оба метода одинаковы, но EdgesForVertex работает как положено, а EdgesForFaces кидает тот самый SEHException. С обработкой исключений на с++ не очень знаком, от того ещё тяжелее разобраться, что к чему. Использую VS2010. Привожу код класа DCEL: DCEL.h
Если надо, выложу другие части кода.
0
|
28.05.2013, 10:29 | |
Ответы с готовыми решениями:
1
SEHException не обработано SEHException при заполнении вектора Std::basic_regex кидает bad_cast VS кидает исключение при повторном освобождении памяти |
0 / 0 / 1
Регистрация: 01.02.2012
Сообщений: 11
|
||||||||||||||||
29.05.2013, 16:32 [ТС] | 2 | |||||||||||||||
Ошибку исправил, но до конца не понял, почему она выскакивала. Так как никто не ответил, пишу в чём была причина, может кому поможет.
В методе FirstCWEdgeForFace класса DCEL, с первого поста в цикле сравнивались объекты класса TriangActor, в котором был переопределён operator==() таким образом, что он вызывал operator==() базового класса Node. Привожу код класса TriagActor: TriagActor.h
До ошибки в классе был указатель на список указателей, который удалялся в деструкторе. Так вот, как я понял, при упомянутом выше сравнении в строке
Как-то так. Объяснил скорее сам себе, если что понял не так - подскажите, а то до конца не разобрался, почему именно портилась куча (ну удалил указатель, что тут такого...).
0
|
29.05.2013, 16:32 | |
29.05.2013, 16:32 | |
Помогаю со студенческими работами здесь
2
Массив элементов класса, деструктор которого кидает исключение Конструктор копирования кидает исключение, если копируют объект, созданные дефолтным конструктором Подскажите пожалуйста почему всё время кидает exception Необработанное исключение типа system.runtime.interopservices.SEHException Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |