(Such an error also appears to exist in 5458) In the attached example the following error appears: tpladdr.cc: In function `int main()': tpladdr.cc:21: error: no matching function for call to `Op<int>::Exec(int, <unknown type>)' tpladdr.cc:14: error: candidates are: static bool Op<T>::Exec(T, bool (*)(T)) [with T = int]
In this case the error does not help (actually it misleads) as to what the problem is. The reference to <unknown_type> seems to indicate that it doesn't know the type of that paremeter, when in indeed it actually does, but the function type has the wrong signature... Simply correcting the function signature to: bool Func( T param ) Allows the program to work as it should. Thus the error message is simply very confusing. -- Summary: less than optimal error message (actually, just appears wrong, use of <unknown_type>?) Product: gcc Version: 3.3.1 Status: UNCONFIRMED Severity: minor Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: eda-qa at disemia dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19741