на самом простом поймал ошибки, при объявлении std::optional ругается на отсутствие члена optional в пространстве имен. В чем может быть проблема
#include <optional>
int main()
{
std::optional<char> a;
return 0;
}
Подобная ошибка выдается Visual Studio 2017 если в установках проекта не выбран режим C++17 (/std:c++17). При этом в окне Output она сопровождается сообщением
class template optional is only available with C++17 or later.
Я подозреваю, что вы разглядываете ошибки компиляции в этом "новом" странном GUI-шном окне Errors, вместо того, чтобы пойти в нормальное человеческое окно Output и посмотреть полный вывод компилятора там. По этой причине вы и не увидели вышеупомянутого сообщения.
Две наиболее распространенные причины этого сообщения компилятора могут быть.
Первая причина - компилятор не поддерживает std::optional.
Вторая причина - вы не включили заголовок <optional>.
Еще может быть, что вы включили этот заголовок в Visual Studio перед заголовком stdafx.h.
Продвижение своими сайтами как стратегия роста и независимости