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

一、报错的地方

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标准”选项后,就可以点击“确定”或者“应用”按钮,系统就会保存我们设置的选项。
在这里插入图片描述

四、项目能够正常运行

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

  • 24
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Defining the Future

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值