#define defNode Node<int>
template<typename T>
struct Node {
T *date;
Node<T> *Lchild, *Rchild;
};
defNode InitBiTree(defNode root) {
return root;
}
如果要用define宏定义一个与模板相关的类型,一定要显示指明是什么类型,模糊的类型是不允许用define的,typedef也是一个道理
template<typename T>
struct Node {
T *date;
Node<T> *Lchild, *Rchild;
};
typedef Node<int> NewNode;
NewNode InitBiTree2(NewNode root) {
return root;
}
这里唯一的不同就是typedef必须定义在模板结构体的下面,否则就会报错。