-3

クラスのメンバーとして動的テンプレート配列があります。ただし、コンストラクターまたはその他の関数で配列のサイズを変更することはできません。私は構文について混乱しています。コードは次のとおりです。

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;
    }
4

2 に答える 2

1

コンテナーを使用して管理します。

std::vector<HeapNode<Type>> array
于 2016-07-04T23:51:23.957 に答える