0

我是 C++ 的初学者,我在 main 中定义了一个链表,我将它作为参数提供给一个函数,在该函数内部,列表发生了变化,但是当程序从函数中出来时,链表没有改变我应该怎么做? 就像这样

mnlist nodes;
nodes.first = NULL:
typelist typel;
typel.first = NULL;
nodes = list-scheduling(nodes,typel);//this is my function

但是当程序退出列表调度时 typel 不会改变

4

2 回答 2

1

(我不知道一个名为“list-scheduling”的函数是如何编译的......)

无论如何,使用参考。代替

void foo(LinkedList l);

将其声明为

void foo(LinkedList &l);
于 2013-02-08T06:11:16.980 回答
0

你应该读这个

按值传递:

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
于 2013-02-08T06:17:50.400 回答