我不明白爲什麼矢量在填充後爲空。填充std矢量
的代碼是:
bool fillArray (vector<int> &array)
{
string temp;
getline(cin, temp);
if (temp == "-1")
return false
else
return true;
int res = atoi(temp.c_str());
array.push_back(res);
}
void showArray(const vector<int> array)
{
for (int i = 0; i < array.size(); i ++)
cout << array[i] << " ";
}
int main(int argc, char** argv)
{
vector<int> array;
while (fullArray (array))
{}
showArray(array);
return 0;
}
當我輸入-1循環中斷,但矢量的大小爲0,爲什麼呢?
showArray'的'參數應該聲明爲const引用(而不是常量的值)。 – Philipp 2010-08-07 16:49:41