我在下面粘貼的這段代碼中發生錯誤。 它說:數組大小分配錯誤
1.Expression必須有一個常數值。
2.Expression的結果不是一個常數
#include <iostream>
#include <string>
using namespace std;
int main()
{
string ko = "flip";
int kosize = ko.size();
char arra[kosize] = { 1,3,2 };
cin.ignore(numeric_limits<streamsize>::max(),'\n');
return 0;
}
因此,我怎麼分配基於字符串的大小的數組?
一般而言,在C++中,您不需要。您可以使用例如一個'std :: vector'。 –
在C++中,像'int arr [kosize]'這樣的聲明要求'kosize'是一個編譯時間常量。 'kosize'是一個變量,即它的值是在運行時確定的。因此,錯誤。 – Peter