Поскольку он статический, это должен быть следующий синтаксис:
int *px = &A::x; //x is static member
Для нестатического члена это синтаксис:
int A::*py = &A::y; //y is non-static member
Пример:
struct A
{
static int x;
int y;
};
int A::x=100;
int main() {
int *px = &A::x;
int A::*py = &A::y;
A a;
a.y = 200;
cout << *px << endl; //used just like normal pointers
cout << a.*py << endl; //note how the pointer-to-member is used!
cout << a.y << endl; //a.*py and a.y are equivalent!
return 0;
}
Выход:
100
200
200
Демо: http://ideone.com/0xSdW
Обратите внимание на различия между указателем на статические элементы и указателем на нестатические элементы и тем, как они используются!