gpt4 book ai didi

c++ - 如何在类模板的构造函数中初始化 vector 成员变量

转载 作者:行者123 更新时间:2023-11-30 00:50:37 37 4
gpt4 key购买 nike

我正在尝试在类模板的构造函数中初始化 vector 成员变量。我从编译器中收到“‘T’不引用值”错误,因为 T 引用了一个类,所以我不能用这种格式做我想做的事。请问构造函数的正确格式是什么? (我猜我需要根据 constructor 将 T 转换为 const val_type?)

template <class T>
class PeripheralSystem {
public:
PeripheralSystem(uint32_t numPeripherals = 0) : peripherals(numPeripherals, T) {};
virtual ~PeripheralSystem();

private:
std::vector<T> peripherals;

};

最佳答案

如果 vector 的初始大小为 numPeripherals 个元素,则使用

PeripheralSystem(uint32_t numPeripherals = 0) : peripherals(numPeripherals) {};

现在 peripherals 将具有 numPeripherals 值初始化(如果 T 是类类型,则默认初始化)T 的实例

关于c++ - 如何在类模板的构造函数中初始化 vector 成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24393319/

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