G++ 编译时出现了奇怪的错误,windows下编译没有
这是两段代码,只差一个空格,却一个编译通过,一个就报了异常,真心求教
map<int, vector<int>> mapNeed;//报错,变量未声明
map<int, vector<int> > mapNeed;//编译通过
运行环境:Centos
编译器:g++
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
引用来自“liuyong051”的评论
map<int, vector<int>> 的两个右尖括号(>>),在较低版本的编译器里,被识别为 移位运算符, 所以将出现编译错误。在较高版本的编译器里,编译器已经足够智能,能够进行正确的识别。
你的g++的版本应该比较低,或者没有使用 -std=c++0x 开关。
遇到这种情况,就老老实实的加个空格。
语法要求,好好看看C++ primer
map<int, vector<int>> 的两个右尖括号(>>),在较低版本的编译器里,被识别为 移位运算符, 所以将出现编译错误。在较高版本的编译器里,编译器已经足够智能,能够进行正确的识别。
你的g++的版本应该比较低,或者没有使用 -std=c++0x 开关。
遇到这种情况,就老老实实的加个空格。