首页 > 解决方案 > 向量中的 push_back 迭代器?

问题描述

我试图将数字 1,4,7...97 存储到向量中。如果我使用 std::out << i; for 循环正在工作。

但是 push_back 给出了一个错误:成员引用的基础是一个函数,也许你打算在没有参数的情况下调用它。我用谷歌搜索,找不到对我有帮助的答案。

我发现的唯一一件事是:

“在 C++ 中,将元素添加到向量可能会导致重新分配包含的数据,这将使所有迭代器无效。这意味着您不能使用迭代器(这是基于范围的 for 循环所做的)遍历向量,同时插入新的元素。但是,您可以使用索引进行迭代并使用向量大小作为条件,因为索引将始终相同。

但是我要遍历向量吗?我以为我只是存储迭代器

我感谢每一个帮助

std::vector<int>rock();

int i;
for (int i = 1; i < 100; i+=3)
{
std::cout<< " " << i;
rock.push_back(i);
}

标签: c++push-back

解决方案


std::vector<int>rock();是一个 .. 函数声明。

使用std::vector<int>rock;orstd::vector<int>rock{};代替。


推荐阅读