// Origin: Theo Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> | |
template <typename T,double (T::*fun)() const> | |
struct I { | |
}; | |
struct R { | |
R() { } | |
}; | |
class H: public R { | |
public: | |
H(): R() { } | |
double& f() { return a; } | |
double f() const { return 1.0; } | |
double a; | |
}; | |
struct A { | |
typedef I<H,&H::f> F; | |
A() { } | |
}; |