Каков синтаксис возвращаемого типа «указатель на элемент»?
struct Point {
int x;
int y;
int z;
};
// compiles
decltype(&Point::x) getX () {
return &Point::x;
}
// does not compile... how to do this without decltype?
int (Point::*) getX () {
return &Point::x;
}
// Use case:
Point p, q;
auto pm = getX();
p.*pm = 1; // p.x = 1
q.*pm = 2; // q.x = 2
Подробнее здесь: https://stackoverflow.com/questions/249 ... -to-member