添加:我尝试了fun
以下任何人都知道错误是什么?
struct node {
string info;
node *link;
node() {
info = "string";
link = NULL;
}
};
void fun( node &node) {
if (node.link !=NULL) {
fun (node.link);
}
}
当我在我的函数中使用它时收到错误消息:
invalid initialization of reference of type ‘node&’ from expression of type ‘node*’
初始化它的正确方法是什么?
答案 0 :(得分:5)
您正在尝试传递指针而不是实际的对象引用。只需取消引用指针,如下所示:
void fun( node &node) {
if (node.link !=NULL) {
fun ( *(node.link) );
}