Ich habe ein dynamisches Vorlagenarray als Mitglied meiner Klasse. Allerdings kann ich das Array im Konstruktor oder in anderen Funktionen nicht ändern. Ich bin verwirrt über die Syntax. Hier ist der Code:Wie ändern Sie die Größe eines dynamischen Vorlagenarrays?
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];
}
Das Array ist ein Array von HeapNode<Type>
Objekte aus der HeapNode Klasse enthalten sind. Hier ist der Konstruktor für die HeapNode-Klasse:
template <class Type> class HeapNode {
private:
int key;
Type value;
public:
HeapNode(int key, Type const &value) {
this->key = key;
this->value = value;
}
Verwenden Sie ein 'std :: VECTOR' statt. –
Auf die gleiche Weise ändern Sie die Größe eines "dynamischen Nicht-Template-Arrays". – juanchopanza