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