所以我试图调用这个函数但不太熟悉动态数据结构和链表,所以我一直都弄错了。到目前为止,这是我的代码:
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;
}
我做错了什么?
答案 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;
}