我尝试使用不同的编译器(包括 gcc 6.1)编译以下程序:
#include <optional>
int main()
{
std::optional<int> o1;
}
输出是
main.cpp:1:20:致命错误:可选:没有这样的文件或目录#include 可选
对于此处给出的示例,这甚至是正确的:http: //en.cppreference.com/w/cpp/utility/optional/optional
任何线索为什么?
我尝试使用不同的编译器(包括 gcc 6.1)编译以下程序:
#include <optional>
int main()
{
std::optional<int> o1;
}
输出是
main.cpp:1:20:致命错误:可选:没有这样的文件或目录#include 可选
对于此处给出的示例,这甚至是正确的:http: //en.cppreference.com/w/cpp/utility/optional/optional
任何线索为什么?
std::optional
将成为 C++17 标准的一部分,但如果您想在此之前使用,则必须改用std::experimental::optional
header 中可用的<experimental/optional>
。
它处于实验阶段(TS):
#include <experimental/optional>
例子:
http://coliru.stacked-crooked.com/a/09ab8d1e51680a79
#include <experimental/optional>
#include <iostream>
int main()
{
std::experimental::optional<int> o1;
}