我试着把数字1,4,7.。。97存储到一个向量中。 如果我使用std::out<<; I; for循环正在工作。
但是push_back给出了一个错误:成员引用的base是一个函数,可能您的意思是不带参数地调用它。 我在谷歌上搜索了一下,却找不到一个对我有帮助的答案。
我唯一找到的是这个:
“在C++中,向向量添加元素可能会导致所包含数据的重新分配,这将使所有迭代器失效。这意味着,在插入新元素的同时,您不能使用迭代器对向量进行循环(基于范围的for循环就是这样做的)。但是,您可以使用索引进行迭代,并将向量大小作为条件,因为索引总是相同的。”
但是我要在向量上循环吗? 我以为我只是存储了迭代器
我很感激你的帮助
std::vector<int>rock();
int i;
for (int i = 1; i < 100; i+=3)
{
std::cout<< " " << i;
rock.push_back(i);
}
std::vector
是一个。。。 函数声明。
请改用std::Vector<;Int>;Rock;
或std::Vector<;Int>;Rock{};
。
向量声明
std::vector<int>rock();
实际上是一个函数声明,返回一个向量。
那不是你想要的。 删除()
:
std::vector<int> rock;