我对 c++ 很陌生。
我想知道是否有任何方法可以让向量的指针指向一个数组。
在我的程序中,我有指向向量的第一个和最后一个元素的向量迭代器对象,如下所示:
vector<int>::iterator vb = vec.begin();
vector<int>::iterator ve = vec.end();
我有一个名为“结果”的数组。
我想让'vb'指向'result'的第一个元素,'ve'指向'result'的最后一个元素。
我试过这个:
vb = &result;
int resultLen = result.size();
ve = &(result+resultLen);
但我最终遇到了这个错误:
`error: no match for ‘operator=’ in ‘vb = & result’
我尝试了一些变化,例如:
*vb = &result;
int resultLen = result.size();
*ve = &(result+resultLen);
它也没有用。
任何帮助将不胜感激,并在此先感谢您!!
==================================================== ============================ 更新。这是我正在尝试编写的程序的简单版本。
vector<int>::iterator vb = vec1.begin();
vector<int>::iterator ve = vec1.end();
int arr = {1,2,3}
int result [10];
while (True) {
subtraction (vb, ve, arr, arr+5, result);
// let's say the vector has {1,2,3,4,5}. I am subtracting array from vector like this: 12345 - 123 until it becomes less than 123.
/*I now need to update the vector from which I am subtracting the array to the result array.*/
vb = &result; //points to the first element of array
int resultLen = result.size();
ve = &result+resultLen; //points to the last element of array
}
更新向量是我遇到问题的地方。