c++ - 如何在 Xcode 中获得 std::optional 支持?

标签 c++ xcode c++17 libc++ stdoptional

我正在尝试在 Xcode 12.0 Mac OS 项目中使用 std::optional。我收到错误: 命名空间“std”中没有名为“optional”的模板

#include <optional>

std::optional<int> o;

我的设置是(我的项目需要 libc++):

enter image description here

最佳答案

Apple 作为 Xcode 12(和 11)的一部分提供的 libc++ 版本包括对许多 C++17 功能的支持,包括可选。请参阅 Xcode 11 release notes .

Xcode 中表示 libc++“支持 C++11”的文本与 Apple 过去发布的不支持 C++11 的标准库 (libstdc++ v 4.2.1) 形成对比。这并不意味着它只支持C++11而排除C++14/17/20等。

OP 在评论中提到他在导致问题的“其他标志”中有一个 -std=gnu++11

关于c++ - 如何在 Xcode 中获得 std::optional 支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63977780/

相关文章:

c++ - 根据类模板的类型参数自动化类模板的大小参数

c++ - 如何阻止这种内存泄漏?

c++ - 结构到/从 std::tuple 转换

c++ - 将禁用的复制构造函数置于私有(private)状态

ios - 核心数据关系在具有共同属性的实体上具有 header 实体

iphone - 有人可以发布 NSNumber 的完整示例用法吗?

ios - Xcode 停留在 "Processing Symbol Files"

C++语法产生: class-head

c++ - 二叉树的前序遍历可视化

c++ - 使用cmake的Linux终端上的“Conversion to non-scalar type is requested”错误