How to include C++ 17 headers with g++ 6.2.0 with -std=c++17 (optional, any, string_view, variant)(如何在 g++ 6.2.0 和 -std=c++17 中包含 C++ 17 标头(可选、任意、string_view、变体))
问题描述
std::optional
在 C++ 17 中,之前是 std::experimental::optional
.
std::optional
is in C++ 17, where it was std::experimental::optional
before.
我尝试使用以下命令编译包含 <optional>
的文件:
I tried compiling a file which included <optional>
, with the command:
g++ -std=c++17 <filename>.cpp
(在 Bash 终端中).我收到以下错误:
(in the Bash terminal). I get the following error:
<filename>.cpp:5:20 fatal error: optional: No such file or directory
#include <optional>
^
compilation terminated
但我可以 #include <experimental/optional>
就好了.
我是否缺少一些头文件?如何包含 optional
标头?
Am I missing some header files? How can I include the optional
header?
我也不能包含 <any>
、<string_view>
或 <variant>
,得到同样的错误.
I also can't include <any>
, <string_view>
or <variant>
, getting the same error.
推荐答案
你不能.
GCC 6.2 对 C++17 的支持是实验性的,它从字面上看,为什么标题是这样排列的.
GCC 6.2's support for C++17 is experimental, which is literally why the headers are arranged like this.
要是他们当初为 std::regex
这样做就好了!这是一份礼物.
If only they'd done this for std::regex
back in the day! It's a gift.
https://gcc.gnu.org/projects/cxx-status.html#cxx1z
这篇关于如何在 g++ 6.2.0 和 -std=c++17 中包含 C++ 17 标头(可选、任意、string_view、变体)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 g++ 6.2.0 和 -std=c++17 中包含 C++ 17 标头(可选
基础教程推荐
- 调用std::Package_TASK::Get_Future()时可能出现争用情况 2022-12-17
- 如何在 C++ 中处理或避免堆栈溢出 2022-01-01
- 运算符重载的基本规则和习语是什么? 2022-10-31
- 您如何将 CreateThread 用于属于类成员的函数? 2021-01-01
- 什么是T&&(双与号)在 C++11 中是什么意思? 2022-11-04
- C++ 程序在执行 std::string 分配时总是崩溃 2022-01-01
- 设计字符串本地化的最佳方法 2022-01-01
- C++ 标准:取消引用 NULL 指针以获取引用? 2021-01-01
- C++,'if' 表达式中的变量声明 2021-01-01
- 如何定义双括号/双迭代器运算符,类似于向量的向量? 2022-01-01