[Bug c++/64194] New: [C++14] <unresolved overloaded function type> for function template with auto return
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 5 15:12:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64194
Bug ID: 64194
Summary: [C++14] <unresolved overloaded function type> for
function template with auto return
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: redi at gcc dot gnu.org
template <typename Tp> auto id() { }
template <typename T> void g(T) { }
int main()
{
// id<int>;
g(id<int>);
}
G++ fails to resolve id<int> in the call.
over.cc: In function ‘int main()’:
over.cc:8:14: error: no matching function for call to ‘g(<unresolved overloaded
function type>)’
g(id<int>);
^
over.cc:3:28: note: candidate: template<class T> void g(T)
template <typename T> void g(T) { }
^
over.cc:3:28: note: template argument deduction/substitution failed:
over.cc:8:14: note: couldn't deduce template parameter ‘T’
g(id<int>);
^
It works if the reference to id<int> is uncommented, or if auto id() is changed
to void id()
More information about the Gcc-bugs
mailing list