map / set迭代器不兼容 – 在初始化期间,c ++程序崩溃

我有这个示例代码在初始化本身的时候发生,忘记了接下来的循环。 任何人看到这个错误任何时候? 我知道在这个问题上有一些SO线程,但是它们似乎并没有解决程序在初始化期间崩溃的特殊情况。

#include <stdio.h> #include <map> #include <string> int main(void) { typedef std::map<std::string, std::string> InnerMap; typedef std::map<std::string, InnerMap> OuterMap; typedef std::map<std::string, OuterMap > FinalMap; static FinalMap hklmRegistryKeysInfo = { { "HARDWARE\\DESCRIPTION\\System\\BIOS", { { "REG_SZ", { { "SystemSKU", "SystemSKU" }, { "System Model", "SystemProductName" } } } } }, { "SYSTEM\\CurrentControlSet\\Control\\SecureBoot\\State", { { "REG_DWORD", { { "Secure Boot", "UEFISecureBootEnabled" } } } } } }; //<= This is where it is crashing return 0; } 

从Visual Studio 2013错误

Solutions Collecting From Web of "map / set迭代器不兼容 – 在初始化期间,c ++程序崩溃"