當定義一個指向從基類私有繼承的函數的成員函數指針時,你會如何聲明它?定義一個私人繼承函數的成員函數指針
如..
// class B defined here
class A; //forward dec
typedef void (B::*fnc_ptr)(); // This? or..
typedef void (A::*fnc_ptr)(); // this...?
class A: private B{
public:
A(): ptr(0){};
~A(){};
using B::fnc;
void setandcall(){
ptr = &fnc;
(*ptr)();
}
fnc_ptr ptr;
};
沒有返回類型是一個錯字 - 它現在編輯。我沒有編譯它,我只是想知道我應該在這種情況下做什麼? – user965369
'this-> fnc()'應該是'(this - > * fnc)()'。 –
@Charles更新了答案 –