我有這樣的問題:函數模板參數和模板成員函數參數
template <void (*F)(int)> struct FunctionWrapper // This compiles and works
{
static void call_it()
{
F(0);
}
};
class MyClass
{
public:
static void callMe(int k)
{
}
};
template <void (MyClass::*F)(int)> struct FunctionWrapper // Error - F incompatible with declaration
{
static void call_it()
{
MyClass::F(0);
}
};
爲什麼我可以用一個函數指針(編譯時間常數),但不是一個班的成員(甚至是靜態的)嗎?
你想用你的包裝達到什麼目的?你有沒有考慮過std :: function? – 2013-03-02 15:28:11
我想在我的模板的參數列表中有一個類成員函數,有可能嗎? – 2013-03-02 15:44:55