scoulomb
scoulomb

Reputation: 630

std optional: No such file or directory

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

Answers (2)

marcinj
marcinj

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

SirGuy
SirGuy

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

Related Questions