У меня есть динамический массив шаблонов в качестве члена моего класса. Однако я не могу изменять размер массива в конструкторе или в любых других функциях. Я смущен синтаксисом. Вот код:Как изменить размер массива динамических шаблонов?
template <class Type> class MaxHeapTree {
private:
HeapNode<Type> *array[];
HeapNode<Type> *root;
int elementSize;
int height;
int leafCounter;
public:
// Constructor
MaxHeapTree(int n = 10) : elementSize(0), height(0), leafCounter(0) {
HeapNode<Type> *array = new HeapNode<Type>[n];
}
Массив представляет собой массив объектов, включенных HeapNode<Type>
из класса HeapNode. Вот конструктор класса HeapNode:
template <class Type> class HeapNode {
private:
int key;
Type value;
public:
HeapNode(int key, Type const &value) {
this->key = key;
this->value = value;
}
Использовать 'станд :: VECTOR' вместо этого. –
Точно так же вы изменяете размер «динамического массива без шаблона». – juanchopanza