В конце концов, мы обычно должны указать, что возвращает функция; то есть, если мы вернем значение из функции, мы всегда даем обещание относительно возвращаемого значения (как еще бы вызывающий, чего ожидать).Предварительные условия и пост-состояние в C++
int area(int lenght, int width)
// pre-conditions : lenght and width are positive
// post-condition : returns a positive value that is the area
{
if (lenght <= 0 || width <= 0) error("area() pre-condition");
int a = lenght * width;
if (a <= 0) error("area() post-condition");
return a;
}
Это простой пример использования предварительных условий и пост-состояние, но то, что я не могу понять, что автор говорит, после того, как показывает пример:
«Мы не могли проверить полное пост-условие, но мы проверили часть, в которой говорилось, что она должна быть положительной ».
Что это значит? Почему мы не смогли проверить полное пост-состояние? В моем понимании в этом случае как постусловие нам просто нужно проверить, что переменная a положительна, я ошибаюсь?
Чем автор задать мне этот вопрос:
Найти пару значения, так что предварительное условие этой версии области имеет, но пост-условие не делает.
Разве это невозможно?
Невозможно с математической точки зрения, возможно, но C++ далека от математической. – chris
Недопустимое условие/Действительное условие: -1 * -1 = .1 Допустимое условие/Недействительное (неопределенное) Постусловие 2 * INT_MAX =? –