#include <iostream>
class X {
public:
// Statyczna funkcja składowa.
static double function(double &val) {
return val;
}
// Statyczny wskaźnik do statycznej funkcji składowej.
static double (*pointer)(double &val);
};
// Definicja wskaźnika.
double (*X::pointer)(double &val) = X::function;
int main() {
double val = 3.14;
std::cout << X::pointer(val);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgWCB7CnB1YmxpYzoKICAvLyBTdGF0eWN6bmEgZnVua2NqYSBza8WCYWRvd2EuCiAgc3RhdGljIGRvdWJsZSBmdW5jdGlvbihkb3VibGUgJnZhbCkgewogICAgcmV0dXJuIHZhbDsKICB9CiAgCiAgLy8gU3RhdHljem55IHdza2HFum5payBkbyBzdGF0eWN6bmVqIGZ1bmtjamkgc2vFgmFkb3dlai4KICBzdGF0aWMgZG91YmxlICgqcG9pbnRlcikoZG91YmxlICZ2YWwpOwp9OwoKLy8gRGVmaW5pY2phIHdza2HFum5pa2EuCmRvdWJsZSAoKlg6OnBvaW50ZXIpKGRvdWJsZSAmdmFsKSA9IFg6OmZ1bmN0aW9uOwoKaW50IG1haW4oKSB7CiAgZG91YmxlIHZhbCA9IDMuMTQ7CiAgc3RkOjpjb3V0IDw8IFg6OnBvaW50ZXIodmFsKTsKICAKICByZXR1cm4gMDsKfQ==