我想使用模板模板參數定義一個函數(我只是想知道它是如何工作的)。我有以下幾點:在函數中使用模板模板參數沒有匹配的函數錯誤
template <typename T, template <typename> class Cont>
typename Cont<T>::iterator binary_search (typename Cont<T>::iterator first, typename Cont<T>::iterator last)
{
typename Cont<T>::iterator it;
// ...
return it;
}
然後在main()
功能:
std::vector<int> data;
// ....
std::vector<int>::iterator it = binary_search (data.begin(),data.end());
我在嘗試編譯代碼時,此錯誤:
binary_search.cpp: In function ‘int main(int, char**)’:
binary_search.cpp:43:83: error: no matching function for call to ‘binary_search(std::vector<int>::iterator, std::vector<int>::iterator)’
我找不到任何合適的應答幫助我理清這個錯誤。任何幫助,將不勝感激。
在此先感謝
Nop。以防萬一我將函數名稱更改爲'my_binary_search()',它也不起作用。 – user1192525 2012-04-08 11:50:02