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/