On 31 December 2015 at 09:57, Jakub Jelinek wrote: > On Thu, Dec 31, 2015 at 10:49:18AM +0100, Dominik Vogt wrote: >> This snippet ist from the Plumhall 2014 xvs test suite: >> >> #if CXX03 || CXX11 || CXX14 >> static float (*p1_)(float) = abs; >> ... >> checkthat(__LINE__, p1_ != 0); >> #endif >> >> (With the testsuite specific macros doing the obvious). abs() is >> declared as: >> >> int abs(int j) > > I bet this depends on what headers are included. Doesn't std::abs > have various overloads, including float -> float one?
Yes. > So, is <cmath> included? Is there using namespace std; before this? That would make it valid, or "using std::abs;". It's also required to compile if <math.h> is included.