Вот две строки кода:
static const double RYDBERG_CONST_EV = 13.6056953;
static const char CHAR_H_EDGE = '-';
Вторая строка компилируется без ошибок, первая строка не компилируется. (Ошибка: 'constexpr' needed for in-class initialization of static data member...
)
Решение, по-видимому, должно добавить ключевое слово constexpr
перед типом. Это необходимо, потому что double
не является "интегральным типом". Но почему поведение отличается от целочисленного и с плавающей запятой?