我正在尝试在Mac(Intel)上配置VS代码以使用C++进行开发。我正在按照VS代码网站上的设置进行操作。按照所有步骤操作后,当我到达终端-运行构建任务时,构建失败并指示它预期出现“;“。我可以在XCode中运行相同的文件,没有任何问题,但VS代码失败。以下是VS代码安装站点中的完整代码。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
1条答案
按热度按时间ggazkfy81#
我也有同样的问题/错误信息与相同的源代码使用我的mac工作室与m1的基础上苹果arm64硅。
首先,源代码来自教程:Using Clang in Visual Studio Code.
当我运行代码时,我得到
vector<string> msg
的错误:其次,正如@Harry在针对这个问题的评论中提到的:
从c++11开始支持使用初始化列表初始化std::vector。
解决方案:为
tasks.json
添加一个支持vector<string> msg
的编译器版本。对我来说,我使用-std=c++17
到"args"列表来解决这个问题。作为参考,我验证了-std=c++11
也解决了这个问题。即使是2023标准的-std=c++2b
也可以与Xcode版本14.2命令行扩展一起工作。因此,在www.example.com的教程中为我创建的默认
tasks.json
文件缺少对编译器版本指令的任何引用。code.visualstudio.com was missing any reference to a compiler version directive.下面是我更新后的
tasks.json
文件,在args列表中添加了一个新元素: