作者shihyuyao (shihyuyao)
看板C_and_CPP
標題Re: [問題] C++ Variable-length argument
時間Sat Apr 27 21:18:12 2013
我函數第一個參數是個固定的 int 型態 , 後面就是不定參數 , 包含 int long string
但是參數個數不一定
foo(int, ...); // 呼叫的函數
下面兩組程式碼要先定出參數個數 ?? 但是因為是不定參數輸入會幾個不知道, 只確定
輸入的型態是 int long string 這三種 ,
這樣要怎麼處理?
template < typename T0 >
void foo( T0 );
template < typename T0, typename T1 >
void foo( T0, T1 );
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.100.156
→ loveme00835:拿上面的模板來說, 我問你 foo(1) 跟 foo(1,2) 各會呼 04/27 22:00
→ loveme00835:哪一個模板產生的實體? 傳進來的參數個數在呼叫的時候 04/27 22:00
→ loveme00835:就已經知道, 然後就可以分派給不同的函數做事情, 對不 04/27 22:01
→ loveme00835:同函式而言, 它們自己知道有幾個, 這個是 overloading 04/27 22:02
→ loveme00835:的基本概念 04/27 22:02
→ loveme00835:你要真用一個函式去解決, 那麼就要有union +type code 04/27 22:03
→ loveme00835:的心理準備, 參數就變成一個指標或是 vector<T> 04/27 22:04