Opened 3 years ago
Closed 3 years ago
#596 closed ожидается проверка (задача сдана)
WW_exceptions [prudnikov.mark]
Reported by: | Марк Прудников | Owned by: | Дмитрий Лапшин (lapshin) |
---|---|---|---|
Component: | WW_exceptions | Version: | |
Keywords: | Cc: |
Description
Не уверен, что правильно работаю с bad_alloc
.
Change History (3)
comment:1 Changed 3 years ago by
Owner: | changed from Дмитрий Лапшин (lapshin) to Марк Прудников |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 3 years ago by
Owner: | changed from Марк Прудников to Дмитрий Лапшин (lapshin) |
---|---|
Type: | ожидаются исправления → ожидается проверка |
comment:3 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Что-то всё ещё грустновато.
data = new int32_t * [cols];
Да?.. Кажется там было rows
.
for (uint32_t i = 1; i < rows; i++) data[i] = data[0] + i * cols * sizeof(int32_t);
Арифметика указателей не так работает, у тебя уже uint32_t *
, умножать на размер не надо..
Дальше delete data[0];
где data[0]
массив и надо было delete[]
.
Дальше, внезапно, начинает работать! Утечки памяти, конечно. Формат вывода: лишние пробелы. А дальше по мелочам.
4.
Note: See
TracTickets for help on using
tickets.
А
load
вообще работает хоть иногда?.. Нет, потому что in.failbit это std::ios_base::failbit это константа.Ну пробелы.
Зачем ты заранее объявляешь переменные, которые используются лишь локально?
Да, с
bad_alloc
ты что-то странное делаешь. Во-первых, что-то печатаешь на экран, это странно. Во-вторых ты исключение замалчиваешь. Правильнее было бы:и обрабатывать там где можно обработать (видимо в main или около него).
Вообще у тебя сейчас в случае ошибки утечки памяти. И вообще можно чище и проще. Пока 2.