一、报错的地方
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标准”选项后,就可以点击“确定”或者“应用”按钮,系统就会保存我们设置的选项。
四、项目能够正常运行
在经过以上第三大步的设置后,可以看到项目已经没有报错的地方,能够正常的运行,如下图所示: