cppreference.com – std::optional将std :: optional标识为“自C 17以来”.
C++ Standards Support in GCC – C++1z Language Features列出c 17功能.我没有在列表中看到std :: optional.对于G,是否记录了std :: optional?
#include <string> #include <iostream> #include <optional> // optional can be used as the return type of a factory that may fail std::optional<std::string> create(bool b) { if(b) return "Godzilla"; else return {}; } int main() { std::cout << "create(false) returned " << create(false).value_or("empty") << '\n'; // optional-returning factory functions are usable as conditions of while and if if(auto str = create(true)) { std::cout << "create(true) returned " << *str << '\n'; } }
解决方法
您需要遵循“库实现”链接
https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.201z
它在Library Fundamentals V1 TS Components(表1.5)下描述.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。