Я написал код ниже
Я предполагаю, что цикл for в find_period
заканчивается, когда iter
встречается arr.end()
Но это не так.
Но когда я переместил цикл for в main()
, он работал правильно.
Я не знаю, почему это происходит.
Сначала я думаю,это связано с понятием указателя. Поэтому я изменил код, использующий указатель int find_period(vector<int> *arr)
. Но это тоже не сработало.
Не могли бы вы дать мне небольшую подсказку?
Большое спасибо!
int find_period(vector<int> arr){
vector<int>::iterator iter;
for(iter=arr.begin(); iter != arr.end(); iter++){
cout << *iter << endl;
}
}
int main() {
vector<int> input = {2,2,3,4,5,6,7,8,9};
vector<int>::iterator iter;
//for(iter=input.begin(); iter != input.end(); iter++){
// cout << *iter << endl;
///}
cout << find_period(input) << endl;
}