Я могу иметь
std::bitset< 10 > bitsetA;
или
const size_t LengthB = 20;
std::bitset< LengthB > bitsetB;
без проблем.
Но, если длина не const
size_t LengthC = 30;
std::bitset< LengthC > bitsetC; // Line 30, say
У меня возникает следующая ошибка компиляции
'LengthC' cannot appear in a constant-expression
template argument 1 is invalid
В чем причина?
В чем будет проблема, для компилятора и для кода пользователя, если строка 30 будет принята? Это потому, что у LengthC может быть псевдоним?