Аргумент зависит поиск говорит:Почему поиск Koening не работает здесь?
Для аргументов типа класса (в том числе объединения), набор состоит из ... а) Сам класс б) ...
Тогда почему может 't printX найти X?
#include<iostream>
using namespace std;
class A {
public:
static const int X = 1;
};
class B {
public:
static void printX(A a)
{
cout << "X is " << X << endl;
}
};
int main(int argc, char** argv)
{
A a;
B::printX(a);
return 0;
}
[Аргумент-зависимый поиск, также известный как ADL, или Koenig поиск, это набор правил для поиска неквалифицированных имен функций в выражениях вызова функций] (HTTP: //stackoverflow.com/a/25976453/1708801) –
'X' не является типом класса. он не является членом 'B'. –
Я не думаю, что вы понимаете ADL. Прочтите еще раз. –