I wrote the following code in Clion for my C++11:
Matrix<T> &Matrix<T>::operator=(const Matrix<T> &matrix) {
if (this == &matrix) {
return *this;
}
int matrix_size = matrix.size();
T *temp = new T[matrix_size];
try {
for (int i = 0; i < matrix_size; ++i) {
temp[i] = data[i];
}
}
catch (...)
{
delete[] temp;
throw;
}
delete[] data;
data = temp;
dimensions = matrix.dimensions;
return *this;
}
But it shows me that what's written inside catch is an unreachable-code, why is that?