c ++ передача по ссылке: двухуровневые вызовы функций - PullRequest
1 голос
/ 04 сентября 2010

У меня есть код, похожий на этот в 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 голосов
/ 04 сентября 2010

Да, глобальные переменные a и b могут быть изменены любой из этих функций, в дополнение к содержимому того, на что они указывают.

0 голосов
/ 04 сентября 2010

Да, это должно произойти, если вы измените 'a или' b in 'func1 или' func2.

...