template void init( BinNode* & root) {
static int e;
cin >> e;
if (e == 0)return;
root = new BinNode(e);
init(root->lc);
init(root->rc);
}
函数调用:
BinNode*s;
init(s);//此处总是报错:严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2664 “void init(BinNode *&)”: 无法将参数 1 从“BinNode *”转换为“BinNode *&”
楼主可以将这个语句template void init( BinNode* & root) 中参数改为BinNode **root); 然后实参为“init(&s);