有关c++构造函数的问题
程序运行不报错:
- C/C++ code
ThreadNode(T x,ThreadNode<T> *l=NULL,ThreadNode<T> *r=NULL,int rg = 0,int lg = 0):data(x),//l,r=NULLleftChild(l),rightChild(r),rtag(rg),ltag(lg){}subTree = new ThreadNode<T>(item);程序运行报错:
- C/C++ code
ThreadNode(T x,ThreadNode<T> *l,ThreadNode<T> *r,int rg = 0,int lg = 0):data(x),//l,r没有进行默认复制leftChild(l),rightChild(r),rtag(rg),ltag(lg){}subTree = new ThreadNode<T>(item);报错如下:不能将参数 1 从“char”转换为“const ThreadNode<T> &”
[解决办法]
因为你第一个属于单参数构造函数,所以 你传递一个参数是没问题的,但是第2个就不是,这样你在传递参数的时候就必须传递3个。