C ++. Я должен вычислить площадь двух фигур, перегрузив функцию area (), и я хочу решить проблему, передав значения констант в качестве аргументов по умолчанию обеим функциям, так какпостановка задачи просит меня написать по одному для каждой фигуры.Но когда я пытаюсь скомпилировать код, я получаю сообщение об ошибке «неопределенная ссылка» для обеих функций.Теперь я могу сразу же посмотреть в Интернете, но я хочу знать, где я ошибаюсь.
Я использую Ubuntu 16.04.
#include<iostream>
#include<math.h>
using namespace std;
double area(int r, float pi=3.14); //prototype for calculating the area of circle
double area(int l, int h, float a=0.5); //prototype for area of triangle
int main()
{
int l, r, h;
cout<<"Enter the radius of the circle\n"; //accepting radius
cin>>r;
cout<<"Enter length of one side and height of triangle\n"; //accepting length and height
cin>>l>>h;
cout<<"Area of circle is = "<<area(r)<<"\n\n";
cout<<"Area of triangle is = "<<area(l, h)<<"\n";
}
double area(int r) //declaration for circle, passing radius accepted and pi as default parameter
{
float pi;
double z = r*r*pi;
return z;
}
double area(int l, int h) //declaration for triangle passing l and b accepted, and 0.5 as default parameter
{
float a;
double z = l*h*a;
return z;
}
сообщение об ошибке: