gpt4 book ai didi

c++ - 使用另一个类中的构造函数来分配带有 new 的数组

转载 作者:行者123 更新时间:2023-11-30 02:47:58 24 4
gpt4 key购买 nike

我不知道(如果可能的话)如何使用另一个带参数的构造函数从具有带参数构造函数的类分配数组。例如(我将只写真正相关的内容。嗯,我怀疑模板是,但仍然):

template <typename T>
class C1 {
T *array;
public:
C1 (int n) {
array = new T [n];
};
};

class C2 {
int length;
int lengthArrayC1;
C1<T> *array;
public:
C2 (int x, int y) {
length = x;
lengthArrayC1 = y;
array = //and here's where I'm lost
};
};

我尝试用多种方式写这样的东西:

array = new [length] C1<T> (lengthArrayC1);

但都没有用。

最佳答案

做不到:Object array initialization without default constructor

一个类型必须有一个无参数的构造函数,以便您new[] 它的一个数组。但是,请参阅关于使用 std::vector 的问题的答案中的提示,它允许您指定用于初始化数组元素的原型(prototype)对象。

关于c++ - 使用另一个类中的构造函数来分配带有 new 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22308829/

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