
Jonathan Wakely <cow@compsoc.man.ac.uk> writes: | On Mon, Dec 20, 2004 at 09:00:04PM -0800, Arkadiy Vertleyb wrote: | | [snip] | > The result is: | > | > C:\ark\gcctest>g++ -I c:\boost\boost_1_32_0 a.cpp | > c:/boost/boost_1_32_0/boost/mpl/find.hpp: In function `void X::foo()': | > c:/boost/boost_1_32_0/boost/mpl/find.hpp:29: error: `template<class | > Sequence, | > class T> struct boost::mpl::find' is not a function, | > a.cpp:8: error: conflict with `template<class T> void X::find(const T&)' | > a.cpp:13: error: in call to `find' | > | > As you can see, the parameter to foo() makes the compiler consider the | > boost::mpl namespace for ADL. The combination of unqualified call and g++ | > finding class templates during ADL produces the error. | | According to GCC's bugzilla whether this is wrong is an open Core issue | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17365 | | I'm not sure which DR Gaby is referring to there, possibly 405 ? http://open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#218 -- Gaby