error: 'string_view' is not a member of 'std'

Viewed 26251

i am new to c++. i compiled my code in visual-studio-code in windows10, with 2 variables of type string and string_view. string variable is fine, but string_view is giving errors.I also enable c++17 extension in configuration.json and edit configuration/ui file in vscode.

Here is my code:=

#include<iostream>
#include<string_view>
using namespace std;
int main(){
      string str="hello";
      cout<<str<<endl;
      std::string_view sv=" world";
      auto result=str+sv.data();

      return 0;
}

errors are:=

main.cpp: In function 'int main()':
main.cpp:7:12: error: 'string_view' is not a member of 'std'
       std::string_view sv=" world";
            ^~~~~~~~~~~
main.cpp:7:12: note: 'std::string_view' is only available from C++17 onwards
main.cpp:8:23: error: 'sv' was not declared in this scope
       auto result=str+sv.data();
                       ^~
4 Answers

I didn't find any bug in your code. I compiled your code here (Copy your code there and select the language C++17 before compiling) and it is working as expected. Just check the compiler which you are running supports C++17 features. Because std::string_view is only available from C++17 onwards. To enable C++17 in Visual studio check here and in Visual studio code follow this .

Hope this will help you.

i solved this error by going to .. project > properties ... select all configurations... > Configuration Properties > C/C++ > Language > C++ Language Standard > ...select ISO C++ 17 Standard(/std::c++17)enter image description here

Related