寫函數的時候經常需要使用引用傳參,為了能夠修改傳入的值,但是下面的這種情況特別需要注意,這樣寫出的函數不能達到修改的作用。
int func(double & ra,double &rb)
{
a++;
b++;
}
int a=2,b=4;
func(a,b);//由于函數參數不匹配,編譯器自動進行type cast,將轉換后的值賦給一個匿名變量,在把ra,rb分別設為兩個匿名變量的引用,但是這樣函數就起不到直接修改數據的功能了。
cout<<a<<'\t'<<b<<endl;