试图调用一个函数

时间:2016-04-20 01:37:28

标签: c++ struct linked-list

所以我试图调用这个函数但不太熟悉动态数据结构和链表,所以我一直都弄错了。到目前为止,这是我的代码:

struct Country
 {
  string  name;
  double  population;
 };
struct Node 
 {
  Country ctry;
  Node *  next;
 };
Node * world;

void push(Country data, Node * & list);

int main ()
{
    Country data;
    Node list;

    push(data, list);
    return 0;
}

我做错了什么?

2 个答案:

答案 0 :(得分:0)

throw函数采用push,这是“指向节点的指针”(总是向后读取类型,它有帮助。你给它Node*&,这是一个list。该函数从该调用中获取引用,但是您说您将引用一个指向Node的指针,因此您希望在Node中创建list main并为其分配和初始化内存,或者您想创建另一个Node*变量并将其指向Node*list)。第一个选项是在大多数情况下是优选的。

答案 1 :(得分:0)

感谢评论家伙,我将我的代码更改为此,现在可以使用了

struct Country
 {
  string  name;
  double  population;
 };
struct Node 
 {
  Country ctry;
  Node *  next;
 };
Node * world;

void push(Country data, Node * & world);

int main ()
{
    Country data;

    push(data, world);
    return 0;
}