ami*_*mit 1 c++ gcc visual-c++
我们正在编写一个使用gcc和Visual C++编译的应用程序.一些团队成员只使用Visual C++/Windows,而其他人只使用gcc/linux.由于编译器之间的差异,构建有时会中断.我已经"修复"了几个导致使用编译器选项来启用/禁用警告的构建中断的场景,但是目前我仍然坚持使用C++模板中使用的">>".
Visual Studio似乎单方面扩展了标准,将">>"包含在模板中作为有效表达式(这仅在建议的C++ 0x中有效).但是gcc不接受这个作为有效的模板.现在我无法在Visual Studio中找到一个选项来禁止">>"或在gcc中禁用">>".我该怎么办?
注意:这个问题是关于双角支架,而不是右移操作员.
我会将它们分开到>>.这就是现行标准所要求的; 它是最正确和可移植的代码.据我所知,如果尖括号彼此相邻,gcc甚至不会编译.
GCC目前(从4.3版开始)通过以下方式支持:
g++ --std=c++0x -o output file1.cpp file2.cpp ...
Run Code Online (Sandbox Code Playgroud)
您必须明确指定您的源代码是用C++ 0x标准编写的.
| 归档时间: |
|
| 查看次数: |
694 次 |
| 最近记录: |