In : template<typename T> void foo(T) {}; template<typename T, typename P> void bar(T, P) {} int main() { bar(0, foo); }
you get: ~/ootbc/members/src$ g++ foo.cc foo.cc: In function `int main()': foo.cc:7: error: no matching function for call to `bar(int, <unknown type>)' The second argument is not "<unknown type>"; the compiler knows it's a template and should say so. Ivan -- Summary: poor diagnostic Product: gcc Version: 3.4.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: igodard at pacbell dot net CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20311