gpt4 book ai didi

c++ - 无法将 unique_ptr 添加到 std::array

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:18:11 27 4
gpt4 key购买 nike

在书籍和网上搜索之后,直到我的耳朵之间开始剧烈疼痛,我无法弄清楚如何将 std::unique_ptr 添加到 std::array.

以下是类成员:

std::array<std::unique_ptr<Media>, MAX_ELMS_NUM> m_collection;

.cpp 文件中,我试图将填充在 std::unique_ptr 中的新媒体指针添加到数组中:

Media* newMedia = CreateNewMedia(Media info stuff);
unique_ptr<Media> np(newMedia);
m_collection[0] = np;

除了最后一行之外的所有内容都可以编译。

最佳答案

最后一行是尝试进行复制赋值操作,即deleted for std::unique_ptr。您需要使用移动赋值运算符:

m_collection[0] = std::move(np);

关于c++ - 无法将 unique_ptr 添加到 std::array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35906718/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com