[問題] 請教函式樣版與指標的問題
首先,下面這個程式是可以build過的
int fn()
{
return 1;
}
int main()
{
void* p = fn;
return 0;
}
這只是想測試函式指標能不能轉為void*而已
結果是可以,而且也可以再轉回函式指標來呼叫fn(這部分不是重點,故略過)
現在,我們把函式改成樣板:
template <class type>
int fn()
{
return 1; // 根本沒用到樣板....
}
int main()
{
void* p = fn<int>;
return 0;
}
這樣就build不過了!??
而且錯誤訊息是
error C2440: 'initializing' : cannot convert from 'int (__cdecl *)(void)' to
'void *'
不能轉換? 那不用樣板為什麼就可以轉換?
由於我需要使用樣板函式,這有沒有解決方法呢?
謝謝
--
「你要不要加入我們的TTP計畫?」
「什麼是TTP計畫?」
「喔,就是The TTP Project的縮寫」
<<呆伯特法則>>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.228.146.2
→
07/26 18:43, , 1F
07/26 18:43, 1F
推
07/26 18:49, , 2F
07/26 18:49, 2F
推
07/26 19:30, , 3F
07/26 19:30, 3F
→
07/26 19:31, , 4F
07/26 19:31, 4F
→
07/26 19:34, , 5F
07/26 19:34, 5F
→
07/26 20:03, , 6F
07/26 20:03, 6F
→
07/26 20:42, , 7F
07/26 20:42, 7F
→
07/26 23:37, , 8F
07/26 23:37, 8F
推
07/26 23:53, , 9F
07/26 23:53, 9F
→
07/26 23:56, , 10F
07/26 23:56, 10F
→
07/27 02:57, , 11F
07/27 02:57, 11F