在命名成员函数重载解析期间,什么时候 'this' 不在范围内?
When is 'this' not in scope during named member function overload resolution?
来自cppreference:
Call to a named function
<...> If the expression E is a primary expression, the name is looked up following normal rules for function calls (which may involve ADL). The function declarations found by this lookup are (due to the way lookup works) either: <...>
b) all member functions of some class T, in which case, if this is in scope and refers to T, *this is used as the implied object argument. Otherwise (if this is not in scope or does not point to T), a fake object of type T is used as the implied object argument, and if overload resolution subsequently selects a non-static member function, the program is ill-formed.
第二种情况似乎是关于func(arg)
调用内部方法。 this
什么时候可以不在这种情况的范围内?
或者它不仅在谈论方法中的 func(arg)
之类的东西?
When could this
be not in the scope for such cases?
静态成员函数。
来自cppreference:
Call to a named function
<...> If the expression E is a primary expression, the name is looked up following normal rules for function calls (which may involve ADL). The function declarations found by this lookup are (due to the way lookup works) either: <...>
b) all member functions of some class T, in which case, if this is in scope and refers to T, *this is used as the implied object argument. Otherwise (if this is not in scope or does not point to T), a fake object of type T is used as the implied object argument, and if overload resolution subsequently selects a non-static member function, the program is ill-formed.
第二种情况似乎是关于func(arg)
调用内部方法。 this
什么时候可以不在这种情况的范围内?
或者它不仅在谈论方法中的 func(arg)
之类的东西?
When could
this
be not in the scope for such cases?
静态成员函数。