VC6++中Map嵌套Set/Vector等容器

背景

因为公司的编译环境是VC++6.0, 古老的编译器,我用的不太习惯,于是就使用vs2013,在对map嵌套时,2013与VC6.0出现了异常

内容

代码是这样的:
    map<int, set<int>> stlNest;
对于上面这句话,vs2013通过,但是VC6.0报语法错误,错误提示如下:
E:\code\temp\main.cpp(11) : error C2146: syntax error : missing ',' before identifier 'stlNest'
E:\code\temp\main.cpp(11) : error C2065: 'stlNest' : undeclared identifier
E:\code\temp\main.cpp(11) : error C2143: syntax error : missing '>' before ';'
执行 cl.exe 时出错.

main.obj - 1 error(s), 0 warning(s)
因为大家的环境是VC6++,所以为了保证代码合并的时候不出问题,所以我就用了一个比较low的方法,使用结构体把容器包了一下,然后再放到map里面
struct stuSetInt{
    set<int> setInt;
};
map<int, stuSetInt> stlNest;
然后在代码合并的时候己被嘲笑了。。。T.T,然后经过指点,只动了一下,就编过去了
    map<int, set<int> > stlNest;    //你发现区别了么?
就是在`set<int>`后面加了一个空格。。。。泪奔
好了  问题解决

你可能感兴趣的:(VC,Visual,Studio,stl嵌套)