我目前在Mac上使用vscode。
在.cpp文件上使用对时,出现错误消息; 错误:连续的直角之间需要空格 括号(使用'>>')
在执行g ++ -std = c ++ 17 -g filename.cpp时,永远不会出现错误。但是使用g ++ filename.cpp不能使用此模板。
我什至无法尝试元组,因此在处理它时遇到了麻烦。
我当前的c_cpp_properties.json就是这样;
和我的launch.json是这样的: enter image description here
最后,我的tasks.json是这样的: enter image description here
如何在没有这些警告的情况下使用g ++ filename.cpp?
答案 0 :(得分:0)
在C ++ 98/03中,使用两个连续的>
关闭嵌套的模板声明是不合法的,但在C ++ 11(及更高版本)中是合法的。
您的命令g++ filename.cpp
(默认)默认为C ++ 98,而当您尝试g++ -std=c++17 -g filename.cpp
时,则明确表示您要针对C ++ 17进行编译。
答案 1 :(得分:0)
单击右下角显示C ++的按钮(vscode会自动检测文件类型,否则您必须选择文件的语言模式),然后选择配置基于语言的“ C ++”设置...-它将打开设置。 json文件
将字段“ C_Cpp.default.cppStandard”更改为“ c ++ 17”
答案 2 :(得分:0)
为了在命令行上编译,我使用了以下命令 - 请注意这里我使用的是 Apple clang 版本 12.0.0
clang some_file.cpp -std=c++11 -lstdc++
在我的 vscode 编辑器中,我没有添加任何更改,并且在连续的“>”之间不需要任何空格。