gpt4 book ai didi

C++ 初始化 std::vector>

转载 作者:行者123 更新时间:2023-11-28 06:42:28 32 4
gpt4 key购买 nike

<分区>

我已经派生了 std::vector 并且正在尝试初始化它。我不明白为什么会发生以下情况:

namespace Bpm {
typedef std::unique_ptr<PolingNormalised> PolingNormalisedPtr;
class PolingNormalisedArray : public std::vector<std::unique_ptr<PolingNormalised>>
{
using std::vector<std::unique_ptr<PolingNormalised>>::vector;
};
}

// Works perfectly
Bpm::PolingNormalisedArray qpmNormArray;
qpmNormArray.push_back(std::move(Bpm::PolingNormalisedPtr(new Bpm::QpmNormalised(2.))));

// Doesn't compile
Bpm::PolingNormalisedArray qpmNormArray(std::move(Bpm::PolingNormalisedPtr(new Bpm::QpmNormalised(2.))));

// Doesn't compile
Bpm::PolingNormalisedArray qpmNormArray(Bpm::PolingNormalisedPtr(new Bpm::QpmNormalised(2.));

// Doesn't compile
Bpm::PolingNormalisedArray qpmNormArray(new Bpm::QpmNormalised(2.));

我不明白为什么很多初始化方法不能编译。这里发生了什么?初始化 std::vector 的正确方法是什么?

谢谢。

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