自动格式化程序更改 > > 到 >>
Auto formatter changes > > to >>
我在使用 VScode 的 C++ 扩展时遇到问题。每当我定义一个由像 vector<vector<int> >
这样的向量组成的矩阵并使用自动格式化程序时,它会将代码更改为 vector<vector<int>>
,这会导致编译器错误。
有什么解决办法吗?
编译器错误是 >>
被解释为右移运算符,而不是两个连续的模板参数列表分隔符。在 C++11 之前,这是语言要求解析器工作的方式。但是,在 C++11 中,添加了一个异常来防止这种情况发生。有关详细信息,请参阅 this answer。
最好的解决方案是将编译器升级到 C++11 或更高版本。
VSCode C++ 扩展使用 clang-format 格式化文档。如果你坚持使用不支持 C++11 的旧编译器,只需在你的工作区中添加一个 .clang-format 文件,其中包含以下行:
Standard : Cpp03
更多格式选项,请参考以下内容link:
https://clang.llvm.org/docs/ClangFormatStyleOptions.html
我在使用 VScode 的 C++ 扩展时遇到问题。每当我定义一个由像 vector<vector<int> >
这样的向量组成的矩阵并使用自动格式化程序时,它会将代码更改为 vector<vector<int>>
,这会导致编译器错误。
有什么解决办法吗?
编译器错误是 >>
被解释为右移运算符,而不是两个连续的模板参数列表分隔符。在 C++11 之前,这是语言要求解析器工作的方式。但是,在 C++11 中,添加了一个异常来防止这种情况发生。有关详细信息,请参阅 this answer。
最好的解决方案是将编译器升级到 C++11 或更高版本。
VSCode C++ 扩展使用 clang-format 格式化文档。如果你坚持使用不支持 C++11 的旧编译器,只需在你的工作区中添加一个 .clang-format 文件,其中包含以下行:
Standard : Cpp03
更多格式选项,请参考以下内容link: https://clang.llvm.org/docs/ClangFormatStyleOptions.html