Reputation: 630
I tried to compile the following program with different compilers (including gcc 6.1) :
#include <optional>
int main()
{
std::optional<int> o1;
}
Output is
main.cpp:1:20: fatal error: optional: No such file or directory #include optional
This is even true for the examples given here: http://en.cppreference.com/w/cpp/utility/optional/optional
Any clues why?
Upvotes: 16
Views: 31551
Reputation: 49986
It is in experimental (TS):
#include <experimental/optional>
example:
http://coliru.stacked-crooked.com/a/09ab8d1e51680a79
#include <experimental/optional>
#include <iostream>
int main()
{
std::experimental::optional<int> o1;
}
Upvotes: 9
Reputation: 10770
std::optional
will be part of the C++17 standard, but if you want to use before then you will have to use std::experimental::optional
instead, available in the header <experimental/optional>
.
Upvotes: 25