template <class = void>
struct FooStatics {
static constexpr const int mymember = 42;
};
template <class X>
constexpr const int FooStatics<X>::mymember;
struct Foo : FooStatics<> {
//...
};
// ----------------------------------------
int main() {
const int & myref = Foo::mymember;
}
dGVtcGxhdGUgPGNsYXNzID0gdm9pZD4Kc3RydWN0IEZvb1N0YXRpY3MgewogICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBpbnQgbXltZW1iZXIgPSA0MjsKfTsKdGVtcGxhdGUgPGNsYXNzIFg+CmNvbnN0ZXhwciBjb25zdCBpbnQgRm9vU3RhdGljczxYPjo6bXltZW1iZXI7CgpzdHJ1Y3QgRm9vIDogRm9vU3RhdGljczw+IHsKCS8vLi4uCn07CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppbnQgbWFpbigpIHsKCWNvbnN0IGludCAmIG15cmVmID0gRm9vOjpteW1lbWJlcjsKfQo=