I have two structures a
and b
:
struct a {
static constexpr int f() {
return 1;
}
static constexpr int c = f();
};
template<int I>
struct b {
static constexpr int f() {
return I;
}
static constexpr int c = f();
};
a
is obviously not working because f
is considered to be not defined here. But why the hell b
is valid?