With the code: // begin redux.cc #include <string> #include <vector>
struct C { template<typename Element, template<typename T> class Container > void member_template(Container<Element> &container) {} }; int main(int,char**) { std::vector<std::string> entries; C().member_template(entries); } //end redux.cc while compiling with 4.4.1 (host:=x86_64, target:=x86_64), I get the following error: redux.cc: In function int main(int, char**): redux.cc:14: error: no matching function for call to C::member_template(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) With 3.4.6 (host:=x86_64, target=mips) and 4.1.2 (host:=i386, target=i386), the code compiles and links without any errors (and works as expected). -- Summary: [4.4.1] template template member function -> error: no matching function for call ... Product: gcc Version: 4.4.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at portuosus dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41223