Question #21132

what is the error in this programme, please help?

#include<iostream.h>
#include<conio.h>
class calculation
{
public:

void calc(int i,int j)
{
cout<<"i="<<i<<" j="<<j;
}

void calc(int i,float j)
{
cout<<"\ni="<<i<<" j="<<j;
}
};
void main()
{
clrscr();

calculation p;
p.calc(10,20);

p.calc(20,10.4);

getch();
}

Expert's answer

1. Use <iostream> header instead of <iostream.h>
#include <iostream>
2. Add this line before class declaration:
using namespace std;
3. The calc method is called with parameters of type (int, double)
and compiler doesn't know what method to choose: (int, int) or (int, float).
So the second parameter has to be either int or float.
Since you need to pass the floating point value you should use the following method call:
p.calc(20, 10.4f);
LATEST TUTORIALS
APPROVED BY CLIENTS