c ++按引用传递:两级深度函数调用

时间:2010-09-03 23:54:24

标签: c++ pass-by-reference

我在c ++中有类似的代码。当我尝试运行它时它会中止。这种类型的代码会起作用吗?

在主要功能中:

type* a = something
type* b = something    
func1(a,b);

func1声明:

void func1(type* &a, type* &b){
  func2(a,b);
  // do something
}

func2如下

void func2(type* &a, type* &b){
  // do something
}

这些函数调用是否会按照应有的方式工作。我应该修改a和b,因为它们是通过引用传递的。

由于

2 个答案:

答案 0 :(得分:0)

是的,如果你在'func1或'func2中修改'a或'b,它应该是。

答案 1 :(得分:0)

是的,全局变量a和b可以通过这些函数中的任何一个来改变,除了它们所指向的内容之外。