首页 > 解决方案 > “可选”:不是 Visual Studio 中“标准”的成员

问题描述

我正在编写的代码抛出此错误:

“可选”:不是“标准”的成员

我了解该文件<optional>位于 MSVC/tools 中,并且此外部依赖项部分通常由 Intellisense 填充,但即使我确认该文件确实存在并且我拥有#include <optional>.

缩小差距的最佳方法是什么?

有没有办法告诉 Visual Studio 包含所有 MSVC 工具?

标题中的代码片段:

#pragma once

#include Examples.h

#include <optional>
#include <vector>

namespace Samples

来自 cpp 的代码片段:

#include 'Examples.h'

std::optional<Samples::Matrix> Samples::TestFunction()

标签: c++visual-studio

解决方案


您必须将项目设置中的 C++ 语言标准选项设置为 C++17 或更高版本:

  1. 在解决方案资源管理器中右键单击项目
  2. 选择属性
  3. 在下面Configuration Properties > General > C++ Language Standard
  4. 选择ISO C++17 Standard (/std:c++17)Preview Latest (/std:latest)
  5. 未来的读者:ISO C++20 Standard (/std:c++20)也是一种选择。
  6. 点击OK
  7. 全部保存以保存对项目的更改。

推荐阅读