【发布时间】:2021-01-18 00:30:42
【问题描述】:
class Child: public Base {.....}
class Child
{
static std::optional<Base>& Child::GetBaseInstance()
{
static std::optional<Base> instance = std::make_optional<Chid>; \\Does not work. Please help
return instance;
}
}
我正在尝试返回一个实例,但它的基础类型为 std::optional。如果我试图传递相同的引用,我还应该返回 std::optional& 或 std::optional
【问题讨论】:
-
请考虑
std::optional专门用于您希望避免动态分配包含的对象的情况。如果这不是问题,可以使用智能指针
标签: c++ c++17 upcasting stdoptional