int g() {
cout << "In function g()" << endl;
return 0;
}
class X {
public:
static int g() {
cout << "In static member function X::g()" << endl;
return 1;
}
};
class Y: public X {
public:
static int i;
};
int Y::i = g();
изначально я хотя бы потому, что, поскольку разрешение символа происходит от внутренней самой области видимости до внешней самой области видимости, поэтому будет вызываться x:: g()., но затем я внимательно заметил код
int Y::i = g();
как мы можем получить доступ к X:: g() без namescope?
И область, в которой лежит это утверждение, должна быть глобальной, а не Y:: или X::, поэтому разрешение символа должно давать глобальную версию функции g()?