C++中的std::string_view在VS中报错(定名空间“std“没有成员“string_view ...

渣渣兔  金牌会员 | 2024-6-20 21:21:21 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 982|帖子 982|积分 2946

一、报错的地方

1、报错的代码如下:
  1. #include <iostream>
  2. #include <string_view>
  3. int main()
  4. {
  5.     std::string_view sv("123456789", 5);
  6.     for (const auto& c : sv)
  7.     {
  8.         std::cout << c << " ";
  9.     }
  10.     std::cout << std::endl;
  11.     std::cout << "size() = " << sv.size() << std::endl;
  12.     std::cout << "data() =  " << sv.data() << std::endl;
  13.     std::cout << "sv.front() = " << sv.front() << std::endl;
  14.     std::cout << "sv.back() =  " << sv.back() << std::endl;
  15.     return 0;
  16. }
复制代码
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尺度”选项后,就可以点击“确定”或者“应用”按钮,体系就会保存我们设置的选项。

四、项目能够正常运行

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



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

渣渣兔

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表