簡體   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