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?