我收到这些错误 1.不能分配一个常量大小为0的数组 2.预期的常数表达 3.'数字':未知大小
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
int input_num;
int sum;
cout << "Enter the number:" << endl;
getline(cin, str);
const int length = str.length();
cout << "Length:" << length<<endl;
//input_num = stoi(str);
int numbers[length];
return 0;
}
答案 0 :(得分:0)
用std::vector
替换数组的使用,并将元素初始化为0
。
std::vector<int> numbers(length, 0);
答案 1 :(得分:0)
数组的大小必须是大于0的常量表达式。
您应该使用标准类std::vector<int>
。
例如
#include <vector>
//...
std::vector<int> numbers( length );
如果用户必须输入一些类型,例如int
(即数字可能在int类型的对象的可接受值范围内),那么您可以预先按以下方式定义数组< / p>
#include <limits>
//...
int numbers[std::limits<int>::digits10 + 1];