Привет, Я сейчас пишу манипуляцию с обработкой программ, и я борюсь с проблемой обработки ошибок в функции-члене.Функция класса, возвращающая недопустимый lvalue
Учитывая функцию
double & MATRIX::elements(int i, int j) const;
это функция, которая может возвращать ссылку обратно, так что эта функция может быть -значение, например,
object.elements(1,2)= 2; // I can change the value matrix element (1,2) to be 2
Я предполагаю, что некоторые люди могут войти в индекс матрицы Неправильно (i.e.invalid значение I и J), что элемент (I, J) не существует. Поэтому я пишу оператор if-else, однако мне интересно, что я должен вернуть, когда найдены недопустимые значения i и j? Могу ли я предотвратить функцию от возврата чего-либо, например, такие ситуации, как
object.elements(100,100000)= 2; // where the matrix size is only 3x3
не так ли?
P.S. Я храню матричные элементы в динамическом массиве, когда я создаю объект
исключение? – NathanOliver
Похоже, что функция-член не должна быть 'const'. – juanchopanza
@NathanOliver как выбросить исключение ??? Я не могу найти способ правильно вернуться ... – jackycflau