c – 在命名成员函数重载决策期间,’this’何时不在范围内?
作者:互联网
从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)调用.什么时候不适合这种情况?
或者它不只是在谈论方法中的类似func(arg)的东西吗?
解决方法:
When could
this
be not in the scope for such cases?
静态成员函数.
标签:c,c14,overloading,overload-resolution 来源: https://codeday.me/bug/20190731/1587426.html