我試圖在類中聲明一個回調函數,然後在某處我讀取的函數需要是靜態的,但它沒有解釋爲什麼?爲什麼回調函數在類中聲明時需要是靜態的
#include <iostream>
using std::cout;
using std::endl;
class Test
{
public:
Test() {}
void my_func(void (*f)())
{
cout << "In My Function" << endl;
f(); //Invoke callback function
}
static void callback_func()
{cout << "In Callback function" << endl;}
};
int main()
{
Test Obj;
Obj.my_func(Obj.callback_func);
}
您的鏈接已損壞。另外,最好發佈實際答案而不是鏈接。 – 2015-08-21 03:52:06
@BenH感謝您的單挑。改進的答案和固定鏈接。 – daramarak 2015-08-21 06:57:18
加上一個鏈接(非常有幫助和易於理解的解釋) – 2016-12-29 10:37:21