0

私はクラスを持っています

class Para{
public:
    int wrt, liczbaWystapien;
    Para(int wrt, int liczbaWystapien){
        this->wrt = wrt;
        this->liczbaWystapien = liczbaWystapien;
    }...

そして、insert_helper関数と動的キャストのエラーがあるBSTツリーテンプレート

void insertHelper(Node<T>* node, T value){
        if(value < node->key){
            if(node->left == NULL)
                node->left = new Node<T>(value);
            else
                insertHelper(node->left, value);
        }
        else if(value > node->key){//bez duplikatow bad z duplikatami
            if(node->right == NULL)
                node->right = new Node<T>(value);
            else
                insertHelper(node->right, value);
        }else if (is_same<T, Para*>::value){
            //cout<<"PARA fsaifhsaiohfoasihfaoih"<<endl;
            dynamic_cast<BST<Para*>>(node)->key->wrt++;//HERE IS ERROR
        }
    }

ツリーのインスタンスは次のとおりです。

BST<Para*>* bstLicznosc;

この動的キャストを修正するにはどうすればよいですか (あらゆる種類のキャストが必要です)?

編集:

私が使用する場合:

dynamic_cast<BST<Para*>*>(node)->key->wrt++;

私は得る:

Error   4   error C2683: 'dynamic_cast' : 'Node<T>' is not a polymorphic type   
4

1 に答える 1