Here is my code, it is suppose to take the double num, round it, and return it using call by reference, but when i try to compile it gives me an ambiguity error at round(i);
.
please help.
#include <iostream>
#include <cmath>
using namespace std;
void round(double &num);
int main()
{
string line;
double i = 100.7;
cout << "Number i before rounding: " << i << "\n";
round(i);
cout << "Number i after rounding: " << i << "\n";
double j = -3.3;
cout << "Number j before rounding: " << j << "\n";
round(j);
cout << "Number j after rounding: " << j << "\n";
getline(cin,line);
cin.get();
return 0;
}
void round(double &num)
{
int value;
int fraction;
fraction = modf(num, &value);
if(fraction < 0.5) num = value;
else num = value + 1;
}