struct Point {
    int x;
    int y;
    int z;
};

// does not compile... how to do this without decltype?
int Point::* getX () {
   return &Point::x;
}

int main()  { }