Какой из этих вызовов деструктора выполняется несколько раз? ⇐ C++
Какой из этих вызовов деструктора выполняется несколько раз?
Сейчас я изучаю C++, начиная с Java. Я знаю, что мне следует использовать vector вместо массивов, однако я хочу также понять основы.
Я написал структуру, к которой хочу получить доступ с помощью двойного []. Это работает и достигает своей цели. Однако при вызове деструктора я получаю сообщение об ошибке:
free(): неверный указатель Прервано (ядро сброшено) Я спросил друга, и он тоже не смог мне помочь.
Вот структура:
#pragma Once класс BitArray2 { публика: внутренний размер; Битмассив2(); BitArray2 (целочисленный размер); ~Битмассив2(); bool** биты = nullptr; структура строка { публика: внутренний размер; bool** bits_row = nullptr; внутренний индекс; Row(размер int, индекс int, bool** bits_row) :size(размер), index(индекс), bits_row(bits_row){} ~Строка(){ bits_row = nullptr; } bool& оператор[](int col_index); }; Строка** строки = nullptr; Оператор Row&[](int row_index); }; BitArray2::BitArray2(){ Битмассив2(1); } BitArray2::BitArray2(целочисленный размер) :размер(размер){ биты = новый bool*[размер]; строки = новая строка*[размер]; for (int я = 0; я
Сейчас я изучаю C++, начиная с Java. Я знаю, что мне следует использовать vector вместо массивов, однако я хочу также понять основы.
Я написал структуру, к которой хочу получить доступ с помощью двойного []. Это работает и достигает своей цели. Однако при вызове деструктора я получаю сообщение об ошибке:
free(): неверный указатель Прервано (ядро сброшено) Я спросил друга, и он тоже не смог мне помочь.
Вот структура:
#pragma Once класс BitArray2 { публика: внутренний размер; Битмассив2(); BitArray2 (целочисленный размер); ~Битмассив2(); bool** биты = nullptr; структура строка { публика: внутренний размер; bool** bits_row = nullptr; внутренний индекс; Row(размер int, индекс int, bool** bits_row) :size(размер), index(индекс), bits_row(bits_row){} ~Строка(){ bits_row = nullptr; } bool& оператор[](int col_index); }; Строка** строки = nullptr; Оператор Row&[](int row_index); }; BitArray2::BitArray2(){ Битмассив2(1); } BitArray2::BitArray2(целочисленный размер) :размер(размер){ биты = новый bool*[размер]; строки = новая строка*[размер]; for (int я = 0; я
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Есть ли способ отобразить иерархию вызовов/дерево вызовов функций C/C++ в VS Code? [закрыто]
Anonymous » » в форуме C++ - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Доступ к аудиопотокам вызовов для приложения перевода вызовов на Android?
Anonymous » » в форуме Android - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-