我似乎无法弄清楚这一点。
class Tree
{
Node* root;
vector& dict;
}
class Node
{
vector& dict;
char* cargo;
Node left;
Node right;
}
我希望 Tree 的每个实例都有自己的字典,并且希望它将对该字典的引用传递给节点构造函数,该构造函数会递归地将引用传递给每个子节点,以便每个节点都可以在字典。
我在语法上遇到很多麻烦:
- 初始化向量
- 将向量的引用传递给 Node 构造函数
- 在 Node 构造函数中接收引用
我知道这些东西非常基础。我正在自学c++。
Thanks
您尚未指定您尝试过的无效操作,但我怀疑您在构造函数中遇到了麻烦,因为无法分配引用;你必须初始化它。
另外,当您使用std::vector
,您必须使用元素类型的模板参数。所以你不能只使用vector&
, 你需要vector<Something>&
, where 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) {}
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)