一、报错的地方
1、报错的代码如下:
#include <iostream>
#include <string_view>
int main()
{
std::string_view sv("123456789", 5);
for (const auto& c : sv)
{
std::cout << c << " ";
}
std::cout << std::endl;
std::cout << "size() = " << sv.size() << std::endl;
std::cout << "data() = " << sv.data() << std::endl;
std::cout << "sv.front() = " << sv.front() << std::endl;
std::cout << "sv.back() = " << sv.back() << std::endl;
return 0;
}
2、在以下图片中,可以看到使用std::string_view关键词声明sv变量时,报命名空间"std"没有成员"string_view"的错误:
二、报错的原因
std::string_view是C++17标准发布后新增的内容,而VS2022在项目属性页中默认的是C++14标准。
三、解决的方法
1、点击VS项目界面中的“项目”选项,然后在弹出的界面中点击“项目属性”选项,如下图所示:
2、上一步点击完成后,在弹出的界面中,点击“配置属性 ➨ C/C++ ➨ 语言 ➨ C++语言标准”选项,如下图所示:
3、上一步点击完成后,在弹出的小界面选择“ISOC++17标准”或者是“ISOC++20标准”选项都可以,如下图所示:
4、上一步选择好“ISOC++17标准”或者是“ISOC++20标准”选项后,就可以点击“确定”或者“应用”按钮,系统就会保存我们设置的选项。
四、项目能够正常运行
在经过以上第三大步的设置后,可以看到项目已经没有报错的地方,能够正常的运行,如下图所示:
转载自CSDN-专业IT技术社区
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/jianjianshini/article/details/127888460