Я написал функцию, которая принимает вектор, позицию int и значение int
void add(vector<int>& pro, int pos, int val){
pro[pos] += val;
while(pro[pos] > 9){
int carry = pro[pos]/10;
pro[pos] %= 10;
pos++;
pro[pos] += carry;
}//while
}//function add
Допустим, у меня есть
vector<int> list1,list2,product;
list1.push_back(4);
list1.push_back(9);
list1.push_back(9);
list2.push_back(3);
list2.push_back(4);
vector<int>::reverse_iterator i,j;
int k,l;
for(j = list2.rbegin(), k = 0; j != list2.rend(); j++,k++){
for(i = list1.rbegin(), l = 0; i != list1.rend(); i++,l++){
add(product, k+l, (*j * *i) );
}//for i
}//for j
, но после выдачи мне выдается ошибкавыполнить его, сказав, что «векторный индекс вне диапазона»
Я не уверен, откуда это исходит, я что-то не так делаю в своей функции добавления?Любая помощь приветствуется.Спасибо.