Какой из этих вызовов деструктора выполняется несколько раз?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Какой из этих вызовов деструктора выполняется несколько раз?

Сообщение Anonymous »


Сейчас я изучаю 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; я
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»