我是C ++的初学者,我有一个在main中定义的链表我将它作为参数赋予函数,在该函数内部列表被更改但是当程序从函数中出来时,链表不变是什么我该怎么办? 就像这样
mnlist nodes;
nodes.first = NULL:
typelist typel;
typel.first = NULL;
nodes = list-scheduling(nodes,typel);//this is my function
但是当程序从列表调度中退出时,typel不会改变
答案 0 :(得分:1)
(我不知道名称" list-scheduling"编译的函数如何...)
无论如何,请使用参考。而不是
void foo(LinkedList l);
将其声明为
void foo(LinkedList &l);
答案 1 :(得分:0)
您应该阅读this
按值传递:
int n =10
function(int n)
{
n++;
cout<<n ; //n==11
}
cout<<n ; //n=10. only local value changes
通过推荐传递:
int n=10;
function(int &n)
{
n++;
cout<<n ; //n=11
}
cout<<n; //n=11. Passed address of n, so changes will reflect