error C2143: syntax error : missing ';' before '<' 错误的解决
2017-08-04 15:47 雄风狂飙 阅读(1904) 评论(0) 收藏 举报之前在移植X86代码的时候遇到一个类似错误,半天没找到原因,后来仔细一想是个小问题导致。
后来自己在vc上面再复现一下,记录一下问题,下次别再犯错。
原来代码:
#include <iostream>
#include <vector>
int main()
{
typedef vector<int> vi;
return 0;
}
乍一看,确实没有什么错误,vector也包含了进来。但是忘记了using namespace std;
为什么忘记了就有问题呢。其实我们一直所说的std标准库就是一个命名空间,只不过它可能跨越了多个文件,比如<iostream>和<vector>可能其实都是std这个命名空间的。C++是允许命名空间跨越多个文件的,于是稍作修改就ok了。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
typedef vector<int> vi;
return 0;
}
浙公网安备 33010602011771号