std::optional在C++ 17中,以前是std::experimental::optional

我尝试使用以下命令编译包含<optional>的文件:

g++ -std=c++17 <filename>.cpp

(在Bash终端中)。我收到以下错误:
<filename>.cpp:5:20 fatal error: optional: No such file or directory
 #include <optional>
                    ^
compilation terminated

但是我可以#include <experimental/optional>很好。

我是否缺少一些头文件?如何包含optional header ?

我也不能包含<any><string_view><variant>,得到同样的错误。

最佳答案

你不能

GCC 6.2's support for C++17 is experimental,这实际上就是标题如此排列的原因。

如果他们只是在那天为std::regex做到了这一点!这是礼物

https://gcc.gnu.org/projects/cxx-status.html#cxx1z

关于c++ - 如何在带有-std = c++ 17的g++ 6.2.0中包含C++ 17头文件(可选,任意,string_view,变体),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43889414/

10-16 05:14