0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 68
|
||||||
При вызове деструктора в строке delete[] data выбрасывается исключение13.12.2019, 20:32. Показов 3659. Ответов 15
Метки нет Все метки)
(
вот как раз вопрос по этой теме. программа отрабатывает все команды и в конце при вызове деструктора в строке delete[] data выбрасывает исключение. Где искать? Что делать? maxsize делала и в классе и вне класса статической переменной, ничего не помогает.
0
|
13.12.2019, 20:32 | |
Ответы с готовыми решениями:
15
Ошибка при вызове деструктора (при вызове delete в деструкторе) Выбрасывается исключение при вызове функций из библиотеки glut Выбрасывается исключение при создании класса |
Нарушитель
9831 / 5364 / 1222
Регистрация: 12.03.2015
Сообщений: 25,123
|
|
13.12.2019, 21:08 | |
покаж весь класс, не стесняйся.
0
|
11 / 10 / 7
Регистрация: 07.05.2013
Сообщений: 248
|
||||||
13.12.2019, 21:18 | ||||||
я думаю тут cursize и maxsize поля класса
да и к тому же maxsize присваивается значение входного параметра n Добавлено через 2 минуты если я правильно помню, сначала надо очистить элементы (пройтись по всем и вызвать у каждого delete), а затем выполнить удаление непосредственно у переменной ну т.е что-то вроде:
0
|
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 68
|
|||||||||||
14.12.2019, 16:05 [ТС] | |||||||||||
весь код: делаю класс, конструктор копирования есть.
а если пытаюсь удалять поэлементно - не дает, подчеркивает data красным
0
|
![]() 6343 / 3514 / 1427
Регистрация: 07.02.2019
Сообщений: 8,979
|
||||||
14.12.2019, 17:18 | ||||||
NNNNNNNNN,
0
|
Вездепух
![]() ![]() ![]() 12873 / 6737 / 1810
Регистрация: 18.10.2014
Сообщений: 17,055
|
|
14.12.2019, 20:40 | |
![]() Решение
Конструктор копирования есть, но в нем написана чушь. Оператор присваивания есть, но в нем написана чушь... Дальше можно не смотреть.
Вам уже показали пальцем на чушь в конструкторе копирования. Зачес вы снова приводите этот код? Добавлено через 2 минуты Что такое "удалять поэлементно"?
0
|
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 68
|
|
14.12.2019, 21:33 [ТС] | |
вот весь main
работает, пока закоментировано //delete[] data; в деструкторе (при php.h которое в начале этой темы) int Max_size = 20;// int main() { setlocale(LC_ALL, "ru"); std::cout << "Hello World!\n"; char *d=nullptr; Set a = Set(Max_size, d); a = a + 'm' + 'p' + 'a' + 'd' + 'e' + 'x' + 'w'; a = a - 'M'; a = a - 'k'; a.Print(); Set b = Set(Max_size, d); b = b + 'a' + 't' + 'e' + 'm' + 'i'; b.Print(); Set c = Set(Max_size, d); c = c + 'm' + 'p' + 'a' + 'd' + 'e' + 'x' + 'w' + 'r'; c.Print(); c.extract(); c.Print(); if (a == b) cout << "yes, a = b" << endl; else cout << "a != b" << endl; if (a == c) cout << "yes, a = c" << endl; else cout << "a != c" << endl; if (a != b) cout << "yes, a != b" << endl; else cout << "a == b" << endl; if (a != c) cout << "yes, a != c" << endl; else cout << "a == c" << endl; Set Q = Set(Max_size, d); Set q2 = Set(Max_size, d); Q = Q + 'A' + 'B' + 'O' + 'R' + 'A' + 'B' + 'W' + 'I'; Q.Print(); Set q = Set(Max_size, d); q = q + 'O' + 'A' + 'R' + 'I' + 'W'; q.Print(); q2 = Q; q2.Print(); if (Q > q) cout << "подмножество q принадлежит Q" << endl; else cout << "НЕТ! подмножество q не принадлежит Q" << endl; Q.extract(); Q.Print(); if (Q > q) cout << "подмножество q принадлежит Q " << endl;//вызвать оператор проверки на подмножество else cout << "НЕТ! подмножество q не принадлежит Q" << endl; Q.extract(); Q.Print(); q.Print(); if (Q > q) cout << "подмножество q принадлежит Q " << endl;//вызвать оператор проверки на подмножество else cout << "НЕТ! подмножество q не принадлежит Q!" << endl; return 0; } Добавлено через 2 минуты да, "это попытка последовать совету из поста №5"
0
|
![]() 6343 / 3514 / 1427
Регистрация: 07.02.2019
Сообщений: 8,979
|
|
14.12.2019, 21:44 | |
ну ясен пень, в чем смысл такого вызова?
Set a; удалить Добавлено через 6 минут Смысл maxsize я понял, только зачем тут динамический массив? Можно статическим обойтись
0
|
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 68
|
||||||
14.12.2019, 21:51 [ТС] | ||||||
а конструктор? туда что вставлять вместо char *D?
0
|
![]() 6343 / 3514 / 1427
Регистрация: 07.02.2019
Сообщений: 8,979
|
|||||||||||
14.12.2019, 21:53 | |||||||||||
![]() Решение
исправил конструкторы под вашу задачу
1
|
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 68
|
|
14.12.2019, 23:05 [ТС] | |
![]() Добавлено через 23 минуты спасибо! теперь работает, пытаюсь понять где была проблема - можете намекнуть? если есть время, конечно. Но спасибо в любом случае! Добавлено через 46 минут стала искать определение двоеточия оно имеет название? где про это прочитать? это оно, нет? понять дико сложно, конечно... Stack overflow- "Область кода за двоеточием и до начала тела конструктора называется инициализатором конструктора. Используется как для инициализации членов класса, так и для вызова конструктора базового/базовых классов, т.е. по сути, инициализации базовой составляющей. Также здесь может быть вызов другого конструктора текущего класса (делегирование конструкторов, начиная с c++11)."
0
|
14.12.2019, 23:05 | ||||||
Помогаю со студенческими работами здесь
16
Выбрасывается исключение при выводе элементов массива Выбрасывается исключение при вводе названия фирмы Исключение повторно выбрасывается при завершении события DragDrop Ошибка при вызове деструктора Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Многопоточность в C#: Threadpool
UnmanagedCoder 28.03.2025
Пул потоков в C# — это коллекция заранее созданных и готовых к использованию потоков, которые находятся в распоряжении приложения. Вместо того чтобы создавать и уничтожать потоки для каждой небольшой. . .
|
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
|
Взаимодействие Python с REST API
py-thonny 27.03.2025
REST API - это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Python располагает функциональным набором инструментов для работы с REST API и основная библиотека для. . .
|
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations
рестрикции доступа на сервер sshd
статья:
https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
|
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
|
Многопоточность в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
|
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
|
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
|
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
|
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
|