Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#773 closed ожидается проверка (задача сдана)

WW #14

Reported by: lebedev.egor Owned by: Дмитрий Свиридкин
Component: WW_exceptions Version: 2.0
Keywords: Cc:

Description

На этот раз должно скомпилироваться с первого раза...

Change History (6)

comment:1 Changed 4 years ago by Egor Suvorov

Owner: changed from Дмитрий Свиридкин to lebedev.egor
Type: ожидается проверкаожидаются исправления

comment:2 Changed 4 years ago by lebedev.egor

Type: ожидаются исправленияожидается проверка

comment:3 Changed 4 years ago by lebedev.egor

Owner: changed from lebedev.egor to Дмитрий Свиридкин

Кажется, после этой ерунды с изменением условий я недостаточно сильно обновил тикет...

comment:4 Changed 4 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to lebedev.egor
Type: ожидается проверкаожидаются исправления

При неудачной попытке загрузить из файла и распечатать предыдущий результат valgrind падает от обилия ошибок. Вы совсем не проверяете, что размеры считались.

Обращение к невалидному индексу может приводить к segfault вместо исключения. Проверьте максимально допустимый индекс.

После bad_alloc все безвозвратно умирает. По условию, после всех ожидаемых исключений, программа должна продолжить работу.

class Kostil {

Ну какой же это костыль? Это строка/столбец.

Обычно первая координата --- номер строки, а вторая -- номер столбца. А не наоборот.

Класс исключения стоит унаследовать от кого-то из иерархии std::exception

Вы выделяете память с помощью std::make_unique, почему бы тогда не оставить unique_ptr для указателя на данные матрицы?


5

comment:5 Changed 4 years ago by lebedev.egor

Owner: changed from lebedev.egor to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 1.02.0

После bad_alloc теперь все умирает только в том случае, если он не смог выделить память под массив матриц (или стринг), ибо непонятно, что с этим вообще можно сделать.

Остальное все, кажется, поправил.

Last edited 4 years ago by lebedev.egor (previous) (diff)

comment:6 Changed 4 years ago by Дмитрий Свиридкин

Resolution: задача сдана
Status: assignedclosed

Препутаны строки и столбцы при выводе значения одного элемента.

	public:
		MatrixRow(int max_rows, int* column) noexcept;
		int& operator[](int row);
	private:
		int max_columns_;
		int* row_;

Что-то у вас названия рассинхронизировались.


9.2

Last edited 4 years ago by Дмитрий Свиридкин (previous) (diff)
Note: See TracTickets for help on using tickets.