繁体   English   中英

表达式必须具有常量值

[英]expression must have a constant value

我试图用字符串输入创建一个数组。

string input;
getline(cin,input);
string inputarray1[100];
istringstream pp(input);
int* inputPosition=0;
while (!pp.eof())
{
    getline( pp, inputarray1[*inputPosition], ' ' );
    inputPosition++;
}
int* a = inputPosition;
string halp[a];

我使用getline来解析我的输入(以及一个istringstream)并将其放入一个数组中,但是如何创建一个没有多余空位的数组呢?

使用标题<vector>

vector<string> inputArray;
while (getline(pp, input, ' '))
    inputArray.push_back(input);

可以使用inputArray.size()获取字符串数,并且可以像使用数组inputArray[index]一样访问各个元素。

请注意, operator>>在空格上分隔,因此您也可以这样做(除非您出于某种原因想要以不同的方式处理制表符)

while (pp >> input)
    inputArray.push_back(input);

我不是100%清楚你的问题,但听起来你真的想要使用哈希表而不是数组。 这将允许您将用户输入映射到其他内容,而不会提到您提到的空数组位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM