使用-std=c++14和-std=c++17沖突問題


 

有代碼如下:

 1 #include <iostream>
 2 #include <string_view>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     std::string_view term_shared_view;
 9     return 0;
10 }
View Code

 

直接使用g++編譯時:

user@devbox:~$ /toolchain/bin/x86_64-linux-gnu-g++ main.cpp 

main.cpp: In function ‘int main()’:

main.cpp:9:7: error: string_view’ is not a member of ‘std

  std::string_view term_shared_view;

       ^~~~~~~~~~~

main.cpp:9:7: note: std::string_view’ is only available from C++17 onwards

user@devbox:~$ 

 

使用g++ -std=c++17編譯時,順利通過:

user@devbox:~$ /toolchain/bin/x86_64-linux-gnu-g++  -std=c++17  main.cpp 

user@devbox:~$ 

 

 

使用g++ -std=c++17 -std=c++14編譯時,編譯失敗,-std=c++17不生效:

user@devbox:~$ /toolchain/bin/x86_64-linux-gnu-g++ -std=c++17 -std=c++14 main.cpp 

main.cpp: In function ‘int main()’:

main.cpp:9:7: error: string_view’ is not a member of ‘std

  std::string_view term_shared_view;

       ^~~~~~~~~~~

main.cpp:9:7: note: std::string_view’ is only available from C++17 onwards

user@devbox:~$ 

  

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM