所以我写了这段代码->
#include <iostream>
#include <bitset>
int main(){
int num, temp, digits = 0;
std::cin >> num;
temp = num;
while(temp){
temp /= 10;
++digits;
}
const int size = digits;
std::bitset<size> a(num);
std::cout << a << std::endl;
return 0;
}
bitset 容器不接受 const 整数大小作为参数并抛出错误 - Non-type template argument is not a constant expression
。我想知道为什么会发生这种情况,因为 size 已被声明为常量,并且它的值在我的程序运行时不会改变?