作者walm20 (New CygnusX)
看板C_and_CPP
標題[問題] template function pointer
時間Tue Jan 18 19:59:39 2011
程式碼如下: (C++ primer 3rd 中文版 侯捷譯 p.587)
template<typename Type,
bool (*Comp) (const Type&, const Type &)>
const Type&
min (const Type *p, int size, Comp comp) //此行錯誤
{
//do compare operation
}
錯誤訊息:
D:\Test\c++\HelloWorld\main.cpp|25|error: 'Comp' is not a type|
||=== Build finished: 1 errors, 0 warnings ===|
我照書上打的, 看起來Comp要這樣寫:
typedef bool (*Comp) (const Type&, const Type &);
但是不清楚怎麼放進去template
請問要怎麼改才會對?
--
╠═╬═卒═帥═馬═╬═╬═╬═╣
║ ║ ║ ║╲║╱║ ║ ║ ║ 此時,
╠═╬═╬═車═╬═╬═╬═╬═╣ 帥有何用?
║ ║ ║ ║╱║╲║ ║ ║ ║ 有車又如何?
╚═╩═╩═╩═╩═╩═╩═╩═╝ 有馬子又怎樣? ψKnicks
→ : 你錯了,當你有車跟帥的時候,馬是可以變成炮 卒就沒用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.176.8.219
推 legnaleurc:就 typename Comp 就好了 01/18 20:03
→ legnaleurc:能不能呼叫編譯器會處理 01/18 20:03
→ loveme00835:這樣寫只能接函數指標耶 XD 01/18 20:43
→ spider391:我以為 template 內只能放 typename or 泛整數型別 01/19 00:18