Opened 4 years ago
Closed 4 years ago
#795 closed ожидается проверка (задача сдана)
WW #14
Reported by: | ushakova.alina | Owned by: | Дмитрий Свиридкин |
---|---|---|---|
Component: | WW_exceptions | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (4)
comment:1 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to ushakova.alina |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 4 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
comment:3 Changed 4 years ago by
Owner: | changed from ushakova.alina to Дмитрий Свиридкин |
---|
comment:4 Changed 4 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
home/dmis/DATA/WORKSPACE/cpp-labs/lab_14/check/lab_14/src/matrix.cpp:63:16: error: implicitly-declared ‘Matrix::Matrix(const Matrix&)’ is deprecated [-Werror=deprecated-copy] 63 | Matrix c = m; | ^ /home/dmis/DATA/WORKSPACE/cpp-labs/lab_14/check/lab_14/src/matrix.cpp:61:9: note: because ‘Matrix’ has user-provided ‘Matrix& Matrix::operator=(const Matrix&)’ 61 | Matrix& Matrix::operator=(const Matrix& m) { | ^~~~~~
У вас есть оператор присваивания, но нет конструктора копий.
Зачем вы его в принципе свой собственный делали, если у вас для всех полей и так есть конструктор копий и оператор присваивания -- компилятор сделал бы все сам.
height = c.height; width = c.width; std::swap(matrix, c.matrix);
Если делаете copy & swap -- то делайте до конца. Вдруг реализация деструктора изменится? Надо менять местами все поля.
Не надо указывать флаг -g в CMakeLists.txt. Для включения отладочной сборки запускайте cmake -DBUILD_TYPE=Debug
Под gcc санитайзеры не дружат с исключениями. Используйте valgrind.
При неудавшемся чтении элементов матрицы исходная матрица сломается.
Поле message в исключении должно быть приватным.
7.9
При неудачном чтении, исходная матрица ломается.
Сообщения об ошибках требуется выводить в std::cout, а не cerr
В исключении стоит переопределить метод what, а не сделать новый.
7