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