...
// ConsoleApplication2.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <vector>
#include <list>
void squareVector(std::vector<int>&array1)
{
std::list<int> listint;
for (int j = 0; j < array1.size();++j)
{
listint.push_back(array1[j]);
}
std::list<int>::iterator it;
it = listint.begin();
int val;
for (std::list<int>::iterator i = listint.begin(); i != listint.end(); ++i)
{
val = *i * *i;
listint.insert(it,val);
++it;
}
for (std::list<int>::iterator i = listint.begin(); i != listint.end(); ++i)
{
std::cout << *i << ",";
}
}
int main()
{
std::vector<int>intlist ({ 1,3,2,5 });
squareVector(intlist);
}
...
我的目标是将数字1、3、2和5放入列表中,然后对每个数字和平方进行平方运算,然后设法将它们平方并放入列表中,但是由于某种原因从前到后。 即输出应该是1,1,9,4,5,25,但是我得到的是1,25,5。
我曾尝试向迭代器添加另一个增量,但是在运行时收到错误消息“无法增量终止列表迭代器”。
编辑,感谢大家的评论,非常感谢,显然我还有很多东西要学习。