Хочу с помощью указателя на базовый класс ссылаться на производный. Выдает ошибку: "значение типа нельзя использовать для инициализации сущности типа". Что не так, и как это исправить?
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <string>
#include <list>
using namespace std;
class Base {
public:
Base* parent;
list<Base*> childrens;
string name;
bool status;
bool isRoot;
Base(string paramName, Base* paramParent) {
name = paramName;
parent = paramParent;
}
Base(string paramName) {
name = paramName;
isRoot = true;
}
void AddChildren(Base* children) {
childrens.push_back(children);
}
void SetStatus(bool paramStatus) {
status = true;
}
};
class root : Base {
public:
root(string paramName) : Base(paramName) {
}
};
int main() {
root *Root = new root("root");
Base *b = &Root;
return 0;
}