我在下面粘贴的这段代码中发生错误。 它说:数组大小分配错误
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