gpt4 book ai didi

c++ - 带结构的模板

转载 作者:行者123 更新时间:2023-11-30 02:42:58 27 4
gpt4 key购买 nike

我正在设计一个二叉搜索树,它允许用户输入任何数据类型的值,而不仅仅是 int
为了实现这一点,我正在尝试使用带有结构的模板.我定义我的结构如下

template <class T>
struct node
{
struct node *left;
T info;
struct node *right;
}*root;

现在我正在尝试在一个名为 BST(二进制搜索树)的类中使用它

template <class T>
class bst
{
public:
void insert(node *,node *);
void inorder(node *);
};

但是编译器抛出了错误,'node< T >* root'的模板声明
我如何使用带有结构变量的模板?

最佳答案

不能在模板类声明之后声明root,因为无法推导模板参数,您可以:

template <class T>
struct node
{
struct node *left;
T info;
struct node *right;
};

node <int> * root;

并且在使用node时需要指定模板参数类型,例如:

template <class T>
class bst
{
public:
void insert(node<T>*, node<T>*);
void inorder(node<T>*);
};

关于c++ - 带结构的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26584508/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com