今天在vc6.0中使用了map,在map中嵌套了vector,错误报错了error C2143: syntax error : missing '>' before ';'错误,但是同样的代码,在vs2005中却不会报错,浪费了我很长时间,解决方案如下,希望对其他遇到同样的朋友有所帮助
编译环境VC6.0
程序如下:
#include<vector>
#include<map>
#include<iostream>
int main()
{
std::map<int,std::vector<int>>;
return 0;
}
提示下面错误:
--------------------Configuration: test - Win32 Debug--------------------
Compiling...
main.cpp
D:\Program Files\Microsoft Visual Studio\MyProjects\test\main.cpp(7) : error C2143: syntax error : missing '>' before ';'
Error executing cl.exe.
main.obj - 1 error(s), 0 warning(s)
错误解决:
将 std::map<int,std::vector<int>>; 修改为std::map<int,std::vector<int> >;
注意:vector<int>后面加了一个空格
在vs2005中不会报错,可能是由于vc6.0和vs2005的编译器不一样的缘故吧。