#include<iostream>
#include<cstdlib>
#include<cmath>
using namespace std;
int round(double number);
int main()
{
double doublevalue;
char ans;
do
{
cout << "Enter the double value:";
cin >> doublevalue;
cout << "Rounded that number is"<<round(doublevalue)<<endl;
cout << "Again?(y/n)";
cin >> ans;
}while(ans=='y' ||ans=='Y');
cout << "End of testing.\n";
return 0;
}
int round(double number)
{
return static_cast<int>(floor(number+0.5));
}
ошибки, как показано ниже:Как решить эту ошибку терминала
roundoff.cpp:6:24: error: new declaration ‘int round(double)’
int round(double number);
^
In file included from /usr/include/features.h:374:0,
from /usr/include/x86_64-linux-gnu/c++/4.8/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h:426,
from /usr/include/c++/4.8/iostream:38,
from roundoff.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:309:1: error: ambiguates old declaration ‘double round(double)’
__MATHCALLX (round,, (_Mdouble_ __x), (__const__));
^ roundoff.cpp: В функции 'INT круглый (двойной)': roundoff.cpp: 22: 24 : ошибка: новая декларация 'int round (double)' int round (double number) ^ В файл включен из /usr/include/features.h:374:0, из/usr/include/x86_64-linux- gnu/C++/4.8/bits /os_defines.h:39, из/usr/include/x86_64-linux-gnu/C++/4.8/bits /c++config.h:426, из /usr/include/c++/4.8/iostream:38, from roundoff.cpp: 1: /usr/include/x86_64-linux-gnu/bits/mathcalls.h: 309: 1: ошибка: неоднозначная старая декларация «двойной круглый (двойной)» MATHCALLX (round ,, (Mdouble __x), (__const)); ^
, пожалуйста, отформатируйте свой код. Трудно это читать. – elyashiv
См. ['Std :: round'] (http://en.cppreference.com/w/cpp/numeric/math/round). Справедливо, что C++ позволяет 'cmath' помещать' round' в глобальное пространство имен, поэтому вы можете получить ту же ошибку без 'using namespace std;'. – juanchopanza
Вернувшийся оскорбление обмана. –