C ++如何初始化?

时间:2011-06-14 20:32:30

标签: c++

添加:我尝试了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*’

初始化它的正确方法是什么?

1 个答案:

答案 0 :(得分:5)

您正在尝试传递指针而不是实际的对象引用。只需取消引用指针,如下所示:

void fun( node &node) {

     if (node.link !=NULL) {  
      fun ( *(node.link) );
    }