This is the mail archive of the libstdc++@sources.redhat.com mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: abs(int) missing


Steven King wrote:
> 
> On Thu, 17 Aug 2000, Levente Farkas wrote:
> > hi,
> > it seems to me that abs(int) is missing from std namespace!!!
> > -----------------------
> > #include <cmath>
> >
> > int main()
> > {
> >   int i = std::abs(4);
> >   return 0;
> > }
> 
> No, its there.  std::abs (int) (and std::abs (long)) is defined in cstdlib;
> cmath add overloads for float, double and long long double and is not required
> to define std::abs (int).  see 26.5 of the standard.

these are still not working

#include <cmath>
#include <cstdlib>
int main()
{
  int i = std::abs(4);
  return 0;
}

g++ -fhonor-std test.cpp 
test.cpp: In function `int main ()':
test.cpp:5: call of overloaded `abs (int)' is ambiguous
/usr/include/g++-v3/bits/std_cmath.h:52: candidates are: float std::abs (float)
/usr/include/g++-v3/bits/std_cmath.h:262:                 double std::abs
(double)
/usr/include/g++-v3/bits/std_cmath.h:362:                 long double std::abs
(long double)


 -- Levente
 "The only thing worse than not knowing the truth is
  ruining the bliss of ignorance."

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]