Я пишу интерфейс для метода.
void method(Node* node);
Интерфейс имеет код
class Node {
public:
virtual void init(Node* a) = 0;
};
Подкласс имеет код
class CNode: public Node {
public:
void init(Node* a);
void init(CNode* a);
}
В коде CNode::init(Node* a)
функция попытается преобразовать a
в CNode
, затем вызовет CNode::init(CNode* a)
.
Я пытаюсь реализовать это с помощью
void CNode::init(Node *a) {
CNode b = dynamic_cast<CNode *>(*a);
}
Однако clang сообщил об этой ошибке
«Узел» не является указателем
Как я могу решить эту проблему?