私はクラスを持っています
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