c++ - “可选”:不是 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++ 语言标准选项设置为 C++17 或更高版本:
- 在解决方案资源管理器中右键单击项目
- 选择属性
- 在下面
Configuration Properties > General > C++ Language Standard
- 选择
ISO C++17 Standard (/std:c++17)
或Preview Latest (/std:latest)
- 未来的读者:
ISO C++20 Standard (/std:c++20)
也是一种选择。 - 点击
OK
- 全部保存以保存对项目的更改。
推荐阅读
- python-3.x - 确保用户不输入空格字符串的 try-except 子句的问题
- ios - 自定义推送通知设计
- html - 如何在 next.js 中覆盖 react-skylight min-height?
- apache-nifi - 在 Jolt 如何修改输出 json 的键并从输入中复制值
- ubuntu-18.04 - boomi atom 正在运行但在浏览器上不可见
- ios - 无法从 Facebook 帐户工具包中获取 SMS 代码
- arm - LAUNCHXL2-RM57L:Lwip 不适用于 GCC 编译器和 IAR 编译器
- php - 使用 SQL 查询获取所有匹配的行
- android - 使用 64 位变体打包游戏
- python - 主页的 Django 上下文值