```void Subtract_C(Complex &Sub,Complex c1,Complex c2)
根据一般的理解,应该是把c1和c2相减,结果放在sub里面,因为函数里改变sub,要反应到调用者,所以必须用引用,否则修改了sub,调用实参不会得到结果
这个和C语言里面的值传递与地址传递的问题类似。我的理解是,因为“&”是取地址符,实参和形参属于不同的内存中,&使二者的指针指向同一个值,以实现实参的值返回到Sub。楼主可以去深入了解取地址符"&",会有更深的理解的。
函数与外部传递值的方式是使用return,而且在函数内部改变的是形参的值,若要在函数中改变外部实参的值的话可以使用&引用直接改变complex对象的值