[問題] 模稜兩可的呼叫多載函式

看板Programming作者 (肥子民)時間15年前 (2010/01/28 15:47), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
請問各位大大 有一個程式的問題想請教各位 以下是我的程式碼 編譯的錯誤訊息如標題 我是使用 VC++ 請問錯在哪裡?? #include "stdafx.h" void hrhr(int a,int b,int c) {} void hrhr(int a,int b,float c) {} int _tmain(int argc, _TCHAR* argv[]) { hrhr( 10 , 20 , 0.0 ); return 0; } -- Q ▆▆ 倫家只有聽過葉問~ S ≡◥? 這是需要洨問的!   W ◤□︵□ ╱ ̄ ̄ ̄╲ E w │>  <│ E │(======)│ T ●~ ★沒有好康★ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.127.179

01/28 15:53, , 1F
hrhr( 10 , 20 , 0 ); 會呼叫第一個
01/28 15:53, 1F

01/28 15:53, , 2F
hrhr( 10 , 20 , 0.0f ); 會呼叫第二個
01/28 15:53, 2F

01/28 15:53, , 3F
而 0.0 其實會被當作 double 但你沒寫
01/28 15:53, 3F

01/28 15:54, , 4F
而 double 可被轉型為 float 或 int
01/28 15:54, 4F

01/28 15:54, , 5F
因此它會不知道到底該轉到哪去
01/28 15:54, 5F

01/28 16:00, , 6F
請受小弟一拜 非常感謝
01/28 16:00, 6F
文章代碼(AID): #1BOK4Rft (Programming)
文章代碼(AID): #1BOK4Rft (Programming)