vector<int> solution;
vector<int>::iterator col;
vector<int>::iterator row;
vector<int>::iterator sum;
...
for (row = vec.begin(); row != vec.end(); ++row)
{
sum = solution.begin();
for (col = row->begin(); col != row->end(); ++col)
{
if(sum == (solution.end())) //value for solution.end() doesn't change, while vector keeps growing
{
solution.push_back(*col);
}
*sum = (*sum + *col); //leads to segfault
++sum;
}
}
我想有一個條件,允許我檢查增長向量,但迭代器如何在C++中實現,因爲它不允許我這樣做。我應該使用什麼?動態大小檢查迭代器?
'vector.size()'不夠嗎? – computerfreaker
也許,但我不認爲你可以和它一起使用它。 sum = solution.begin + n,size是0到n之間的整數。那麼你是否建議我使用另一個變量x並在++ sum之後遞增並使用vector.size()? – user2967016
你的問題還不夠清楚。 「一種可以讓我檢查成長載體的條件」聽起來好像你在試圖解決一場比賽。您可能想要使用互斥來解決該問題。另外,你可以添加'sum','solution','col'等類型聲明嗎? –