![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
maksr |
|
||||
![]() Lizard King ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 17.2.2005 Где: Нижний Новгород Репутация: нет Всего: 1 |
Вот класс на экспорт:
Этот класс на импорт:
Если объявить переменную данного класса как глобальную всё работает, если же объявить её как указатель либо локальную то при удалении её из памяти велезает ошибка о том, что читаем за пределами heap памяти. |
||||
|
|||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Насчет "локальной" есть сомнения, что ты напутал - при чем здесь heap.
А вот если указатель на динамическую память, то видимо, ты удаляешь ее не там, где создаешь (т.е. создает вызов из одного модуля, а удаляет - из другого). И, похоже, модули используют разные хипы. Так бывает, если, например, два модуля статически слинкованы с рантаймами. Лучшее решение вопроса - использовать единую DLL-версию рантайма. Тогда с созданием\удалением проблем не будет. Или - придется всю жисть следить, чтобы переменные удалялиь тем же кодом, где и создаются. Т.е. предусмотреть статические функции Create и Delete и запретить явный вызов конструкторов\деструкторов. -------------------- ... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |