std::map于vc6下的使用bug

std::map于vc6下的使用bug

  我不想用std::multimap,因为我希望能够使用index随机取得value部分的值,于是便希望定义一个std::map<int, std::vector<int>>的类型,结果在vc6中死活编译不过。我写的测试代码为:std::map<int, std::vector<int>>  test_map; 结果报错如下:

D:\me\document\VC6\test\test.cpp(34) : error C2146: syntax error : missing ',' before identifier 'test_map'
D:\me\document\VC6\test\test.cpp(34) : error C2065: 'test_map' : undeclared identifier
D:\me\document\VC6\test\test.cpp(34) : error C2143: syntax error : missing '>' before ';'

  于是改写成如下代码:
    typedef std::vector<int>            IntVector;
    typedef std::map<int, IntVector>    IntVectorMap;
    IntVectorMap test_map;


顺利编译通过 -_- 还真是邪门了。

注:std::map<int, std::vector<int>>  test_map; 在vs2005下顺利编译通过。



你可能感兴趣的:(std::map于vc6下的使用bug)