You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A forwarding reference is an rvalue reference to a cv-unqualified template parameter that does not represent a template parameter of a class template (during class template argument deduction ([over.match.class.deduct])).
The wording in the parenthesis sounds like it is a specific interpretation of what we mean by "represent a template parameter of a class template". However, "represent a template parameter of a class template" should also have its literal meaning.
template<classT>
structA{
voidfoo(T&&){}
};
The case is not about class template argument deduction.
Improvement
A forwarding reference is an rvalue reference to a cv-unqualified template parameter that does not represent a template parameter of a class template (including during class template argument deduction ([over.match.class.deduct])).
The text was updated successfully, but these errors were encountered:
[temp.deduct.call] p3 says
The wording in the parenthesis sounds like it is a specific interpretation of what we mean by "represent a template parameter of a class template". However, "represent a template parameter of a class template" should also have its literal meaning.
The case is not about class template argument deduction.
Improvement
The text was updated successfully, but these errors were encountered: