gcc is complaining about an ambiguous overloading of operator&&
in the statement (last non-trivial line)
    return std::pow(a,2.0);

where no such operator appears. (I haven't seen a macro definition of 'pow'
which pulls in '&&')

If I replace the statement above by
    return ::pow(a,2.0);

the error disappears.

The function 'pow' should be injected into namespace 'std'
when doing
#include <cmath>

or am I missing something?


-- 
           Summary: std::pow strange overload resolution
           Product: gcc
           Version: 4.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jarausch at igpm dot rwth-aachen dot de
 GCC build triplet: i386
  GCC host triplet: i386
GCC target triplet: i386


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37582

Reply via email to