C++ 无法用 {...} 初始化

标签 c++ visual-studio-2012 c++11

我正在使用 VS2012,我想包含以下 map :

#include<iostream>
#include<map>

std::map<int, int> code_map = {
  {65, 97},
  {66, 98},
  {67, 99},
  {68, 100},
  {69, 101},
  {70, 102},  
};

但是,IDE 告诉我

IntelliSense:使用“{...}”进行的初始化对于“std::map、std::allocator>>”类型的对象无效

有人知道为什么会出现这个错误吗? 如果我使用 VS2012,我想我使用的是 C++11,所以我认为这可行。

谢谢你的帮助。

最佳答案

Visual Studio 2012 不支持初始化列表。查看它支持的 C++11 功能:http://msdn.microsoft.com/en-us/library/vstudio/hh567368%28v=vs.120%29.aspx

关于C++ 无法用 {...} 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20082175/

相关文章:

c++ - CreateProcess的第二个参数应该是什么?

c++11 - GCC 4.8.1 无法识别的命令行选项 "-std=c++11"

c++ - 缺少类函数声明是否安全?

c++ - 为什么 std::vector 是连续的?

C++专门化模板类函数而无需重复代码

c# - 如何在 C# 类库项目 (VS2012) 中嵌入和使用 .txt 文件作为资源?

c++ - 在循环中附加范围

visual-studio-2012 - 策略失败时阻止 checkin

c++ - 将每种类型包装在模板类中的可变参数模板中

c++ - 具有通用引用的过载解决方案