2011-09-21 56 views
0

我明白,如果有具有相同的名稱和相同數量的參數編譯器試圖找到最佳匹配的幾個函數(我說的對這麼遠嗎?)超載分辨率,CPP

我也不是什麼理解是類型提升和類型轉換的區別。

說我有這個功能decleration:void foo (double x)然後裏面主要:

int x = 5; 
foo(x); 

這算是轉換或促銷?

回答

-3

你舉的例子不會工作

你需要有2種方法重載

1)無效美孚(雙X){方法的代碼}和

2。 )void foo(int x){方法代碼}

然後當您運行代碼

int x = 5;

富(5)

編譯器或運行時環境知道調用根據您在。

過去了。如果我想要一個int轉換成一個雙是不同的輸入類型的方法。我不確定你使用的是什麼語言,但是在Java中,你將使用類型轉換來執行轉換

這是類型轉換,並將double轉換爲int。如果有小數部分,你將丟失小數部分。

double d = 5; int i =(int)d;

我認爲這是你問的問題。如果沒有請澄清一點

+0

語言是C++,而例子_does_工作,問題是關於術語。 – Javier