一、报错的地方

1、报错的代码如下:

#include #include 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标准”选项后,就可以点击“确定”或者“应用”按钮,系统就会保存我们设置的选项。

四、项目能够正常运行

在经过以上第三大步的设置后,可以看到项目已经没有报错的地方,能够正常的运行,如下图所示: