C++映射 - 表达式必须是整数常量表达式


#include <map>
#include <string>
std::map<std::string, int> foo;
foo["bar"] = 1;

为什么在 Visual Studio 12 中出现错误"表达式必须是整数常量表达式"?

我无法解决这个...

您需要将代码放在函数中。

#include <map>
#include <string>
void xyz()
{
   std::map<std::string, int> foo;
   foo["bar"] = 1;
}

我验证了VS 2013在其他方面存在问题,但是它在函数内部有效。正如其他人所指出的,大多数语句不允许在函数之外使用。

相关内容

  • 没有找到相关文章

最新更新