int framed_area(int x,int y)
{
const int frame_width=2;
if (x-frame_width<=0||y-frame_width<=0)
{
error("non-positive area() argument called by framed area");
}
return area(x-frame_width,y-frame_width);
}
Если у меня есть эта функция в моей программе, я получаю сообщение "'error' was not declared in this scope". Какую библиотеку следует включить, чтобы мой код работал правильно?
У вас компилятор к моменту компиляции кода не встретил объявления функции error() - возможно, вы не включили соответствующий заголовочный файл, или объявляете его в тексте ниже.
Что касается замечания @Duracell об именах - то, по всей видимости, он не совсем разобрался в вашем коде. Все остальное у вас корректно, если, конечно, определена функция area().
Условие
x-frame_width<=0||y-frame_width<=0
вполне корректно, так как приоритет вычитыния выше сравнения, а тот, в свою очередь, выше приоритета оператора ИЛИ.
P.S. Где-то я этот код видел - в какой-то книжке... Не Страуструп, "Принципы программирования"? Если да - то, насколько я помню, он там все свои функции засунул в один заголовочный файл. Вы его включаете в свой текст?..
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости