dev-c++ - DevC++:我如何正确编程迭代 STL 集合中的所有元素?
问题描述
我目前正在研究循环,我发现了这个,我在 DevC++ 上对其进行了编程,这是我的代码。
#include <iostream>
#include <向量>
使用命名空间标准;
主函数()
{
std::vector < std::string > names = {“阿尔伯特爱因斯坦”,“斯蒂芬霍金”,“迈克尔埃利斯”};for(std::vector< std::string >::iterator it = names.begin(); it != names.end(); ++it) { std::cout << *it << std::结束;}
}
编译后我遇到了问题,这是编译器所说的:
C:\Users\chesc\Pictures\image\loops.cpp 在函数'int main()'中:9 89
C:\Users\chesc\Pictures\image\loops.cpp [Error] in C++98 'names' 必须由构造函数初始化,而不是由 '{...}'
9 89 C:\Users\chesc\Pictures\image\loops.cpp [错误] 无法将 '{"Albert Einstein", "Stephen Hawking", "Michael Ellis"}' 从 '' 转换为 'std::vector > '
解决方案
首先,请更好地格式化您的问题。将代码放入代码示例中。
来回答你。您的编译器设置为标准 C++98。该标准不允许您使用的初始化方式。
我建议您将编译器设置为它可以支持的最新标准。这意味着 C++11 及更高版本。
您可以在项目选项 -> 编译器 -> 代码生成 -> 语言标准中执行此操作
推荐阅读
- java - Flutter 项目:错误(主要与 Android Manifest 和 Main Activity 文件有关)
- reactjs - Jest 找不到 MONGO_URI 的 .env.local
- javascript - 在 React TypeScript 组件中导入 Javascript
- leaflet - 向多个图层组添加标记
- wpf - 如何将样式和模板都添加到按钮?
- html - 自动调整子 div 的大小以填充父 div 的可用空间
- amazon-web-services - 如何将 S3 存储桶挂载到 ecs fargate 容器
- angular - 日期管道错误 - 升级到 Angular 11 时无法读取未定义的属性“toLowerCase”
- sql-server - 根据销售额将数据分配到存储桶中
- python-3.x - 按下按钮时在mac上将文本转换为语音