------- Comment #1 from pinskia at gcc dot gnu dot org 2008-06-26 19:07 ------- This is how C++ works IIRC. If two functions with the same name are inherited from two different classes, they are considered ambiguous.
If you use a non template version of Handler you will also see it is the same issue. Anyways adding: using Handler<Foo>::handle; using Handler<Bar>::handle; To Baz, cause the ambiguous to go away. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36641