I\'m wondering why the integer ii is initiallized at compile time, but not the float ff here:
int main() {
const int i = 1;
con
Constant variables of integral types with constant initializers are integral constant expressions (de facto implicitely constexpr; see expr.const in ISO C++). float is not an integral type and does not meet the requirements for constant expression without the use of constexpr. (A similar case is why int can be but float cannot be a template parameter.)