为何std::string.contains()函数无法正常工作?
VS Code中C++23 std::string::contains编译错误的解决方案
问题背景
- 使用Visual Studio Code开发C++文件读写程序,功能为读取
romeoandjuliet.txt文件,统计用户输入单词的出现次数 - 已在
c_cpp_properties.json中配置"cppStandard": "c++23",代码中使用了C++23新增的std::string::contains方法
遇到的错误
编译时触发如下错误:
'std::string' {aka 'class std::__cxx11::basic_string
'} has no member named 'contains'
注:手动通过命令行添加-std=c++23参数编译时,程序可正常运行
解决步骤
修改VS Code的tasks.json文件,在编译任务的"args"字段中添加"-std=c++23"参数,确保编译器启用C++23标准支持。
示例修改后的编译参数片段:
"args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}", "-std=c++23" ]
内容的提问来源于stack exchange,提问作者TheBrayanDev
相关产品推荐
相关产品推荐

