Вы не указали, что пытались, но это не работает, но я подозреваю, что у вас проблемы с конструкторами, потому что ссылка не может быть назначена; Вы должны инициализировать его.
Также, когда вы используете std::vector
, вы должны использовать параметр шаблона для типа элемента. Так что вы не можете просто использовать vector&
, вам нужно vector<Something>&
, где Something
- это любой тип элемента.
Итак, вы, вероятно, хотите что-то вроде этого:
class Tree
{
private:
Node* root;
std::vector<Something>& dict;
public:
Tree(Node* aRoot, std::vector<Something>& aDict): root(aRoot), dict(aDict) {}
};
class Node
{
private:
std::vector<Something>& dict;
char*cargo;
Node left;
Node right;
Node(std::vector<Something>& aDict, char* aCargo): dict(aDict), cargo(aCargo) {}
};