我尝试使用不同的编译器(包括
gcc 6.1)编译以下程序:
#include <optional> int main() { std::optional<int> o1; }
输出是
main.cpp:1:20: fatal error: optional: No such file or directory #include optional
对于此处给出的示例,情况甚至如此:
http://en.cppreference.com/w/cpp/utility/optional/optional
任何线索为什么?
解决方法
std :: optional将成为C 17标准的一部分,但是如果你想在之前使用,那么你将不得不使用std :: experimental :: optional,在标题< experimental / optional>中可用.