在我的課,如果我想指向類的成員,指向類的成員
struct S
{
static int get();
int do_something();
int x;
};
我這樣做,
int (*p)() = S::get;
不幸的是這並不適用於非靜態成員
int (*p)() = S::do_something; // error
因爲,靜態成員函數是一個普通的功能,從我來到下方圍繞該帖指出,非靜態成員函數的n也是一個普通的函數,爲什麼它不起作用?這是什麼意思?
(9.2/10)[注:一個非靜態成員函數的類型是普通 功能類型和非靜態數據成員的類型是一個普通的 對象類型。沒有特殊的成員函數類型或數據成員 類型。 ]
這是在這裏回答:http://stackoverflow.com/questions/439540/function-pointer-to-class-member-function-problems –
必須閱讀理解的概念:[指向成員函數](http ://www.parashift.com/c++-faq-lite/pointers-to-members.html) –