【发布时间】:2014-12-12 10:05:49
【问题描述】:
使用嵌套模板时是否可以在 Visual Studio 中将“>>”而不是“>”标记为错误?
示例代码:
void foo(std::vector<std::vector<double>>) {}
Visual C++ 编译器(我使用的是 VS10/2010)即使在警告级别 4 上也不会抱怨,但在 Unix 和 Linux 编译器上构建会失败并出现错误 (ideone):
error: '>>' should be '> >' within a nested template argument list
是否可以将此标记为错误?
我想确保我的代码在尽可能多地发送到 CI 服务器之前没有这些琐碎的语法错误...
【问题讨论】:
-
您是否可以控制 CI 服务器上使用的命令行选项?
>>从 C++11 开始完全有效,如果您在命令行。 -
这不是C++11的错误,见ideone.com/ossbOr
-
好主意,我不知道 - 我会检查 ;)
-
将你的 linux 编译器设置为 C++11 例如与 g++
-std=c++11 -
这有点困扰我,我们必须明确告诉 g++ 使用最新的 C++ 标准......但是,我们这样做了。
标签: c++ visual-studio-2010 visual-studio