gpt4 book ai didi

c++ - 列表初始化编译错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:41:41 24 4
gpt4 key购买 nike

C++ 11 标准 8.5.4 列表初始化示例说:

std::map<std::string,int> anim = { {"bear",4}, {"cassowary",2}, {"tiger",7} };

但是我已经尝试过 VC10、gcc 4.6 和 Comeau,这些编译器都不会让这个通过吗?这是为什么?

最佳答案

感谢评论中的所有回答。

然后我检查了 c++ 98 和 03 标准,是的,8.5.4 绝对是 c++ 11 中的新版本!这就是为什么它没有得到所有编译器的完全支持。

在使用 gcc 4.6.1 添加标志 -std=c++0x 后,现在编译正常。

为任何可能需要引用的人添加测试代码:

#include <map>
#include <string>
#include <initializer_list>
#include <iostream>

using namespace std;
int main()
{
std::map<std::string,int> collection = {{"bear",4}, {"cassowary",2}, {"tiger",7}};
for(auto it: collection)
std::cout << it.first << " has value " << it.second << std::endl;
return 0;
}

关于c++ - 列表初始化编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9158512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com