标准库中的 optional:没有这个文件或目录。

16

我尝试使用不同的编译器(包括gcc 6.1)编译以下程序:

#include <optional>
int main()
{
    std::optional<int> o1;
}

输出为

main.cpp:1:20: 致命错误:optional: 没有那个文件或目录 #include optional

即使是这里提供的示例也是如此: http://en.cppreference.com/w/cpp/utility/optional/optional

为什么会这样?


5
那些“(since C++17)”的标记让你想起了什么吗? - T.C.
2个回答

24

std::optional将成为C++17标准的一部分,但如果您想在此之前使用它,则必须改用std::experimental::optional,该选项位于头文件<experimental/optional>中。


2
确实,这个可行! -> #include <experimental/optional> int main() { std::experimental::optional<int> o1;} - scoulomb

9

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接