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
This is a purely editorial issue. The wording currently reads:
Thus, a call x(arg1,...) is interpreted as x.operator()(arg1, ...) for a class object x of type T if T::operator()(T1, T2, T3) exists and if the operator is selected as the best match function by the overload resolution mechanism ([over.match.best]).
What does it mean for T::operator()(T1, T2, T3) to exist? What are T1, T2, and T3? The idea here, I think, is to clarify that operator() is called if it exists, as opposed to some function pointer conversion that could happen and be a better match... I can't propose a better wording since I'm not entirely sure what the wording is currently intended to convey.
The text was updated successfully, but these errors were encountered:
Editorial meeting: Drop "Thus". Drop (T1,T2,T3). Instead of "args1...", use "expression-list/opt" (grammar). Move "A call" to a new paragraph. Also in 12.6.5 and 12.6.6. Use a fairly large hammer, possibly excising "x" as well.
This is a purely editorial issue. The wording currently reads:
What does it mean for
T::operator()(T1, T2, T3)
to exist? What areT1
,T2
, andT3
? The idea here, I think, is to clarify thatoperator()
is called if it exists, as opposed to some function pointer conversion that could happen and be a better match... I can't propose a better wording since I'm not entirely sure what the wording is currently intended to convey.The text was updated successfully, but these errors were encountered: