(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

Reply via email to