我想將一個非常量變量轉換爲常量變量。我嘗試使用const_cast,但仍然下面的程序給出'bitsize1'不能出現在常量表達式中的錯誤。我究竟做錯了什麼 ?C++:非常量轉換爲常量
#include <string>
#include <bitset>
#include <iostream>
using namespace std;
int main(){
int l = 3; // taken input from user
int bitsize2 = (l * 2);
int bitsize1 = const_cast<int&>(bitsize2);
string temp = "100101";
bitset<const_cast<int&>(bitsize2)> baz (temp);
cout << baz;
return 0;
}
在編譯時必須知道模板參數。 –
您在常量表達式和常量對象之間感到困惑。 'const'用於使對象不可修改,'constexpr'用於在編譯時使值可用。 –