c++ - 向量中的 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);
}
解决方案
std::vector<int>rock();
是一个 .. 函数声明。
使用std::vector<int>rock;
orstd::vector<int>rock{};
代替。
推荐阅读
- bash - 相同的脚本在手动获得正确结果的 cron 上给出结果为零
- wordpress - 如何在我的 WordPress 网站中使用自定义 SMTP 设置
- python - 如何在范围(n)中具有整数键的字典和长度为 n 的列表之间进行选择?
- java - 我收到此错误,在 appcompatActivity 中通过 id(int) 查找视图无法应用于 (),它位于第 65 行
- html - jquery - 从克隆的 html 中替换一个元素
- ios - 使用 Firebase react-JS google-cloud-storage 上传大文件(10-300Mo)超时
- clang - 使用 clang-cl 在 Windows 上编译 Objective-C++
- telegram-bot - 如何处理 Telegram bot API 中错过的 sendPoll 方法测验答案?
- firebase - NoSuchMethodError:在 null 上调用了方法“findAncestorStateOfType”
- java - 我想在字符串中获取用户输入并使用 java 将该字符串写入文本文件中。但有个问题