如何將成員函數指針轉換爲靜態函數?將指針轉換爲成員函數指向靜態函數
這裏是我的代碼:
class ClassA
{
public:
int n;
void func();
};
void ClassA::func()
{
n = 89;
}
class ClassB
{
public:
float f1;
float f2;
void func(float f);
};
void ClassB::func(float f)
{
f1 += f;
f2 += f;
}
int main (int argc, char *argv[])
{
ClassA* a = new ClassA;
ClassB* b = new ClassB;
//PROBLEM IS HERE
void (* pf_func1)(void*) = ClassA.func;
void (* pf_func2)(void*, float) = ClassB.func;
pf_func1(a);
pf_func2(b, 10);
}
存在這樣的代碼片段種種失誤,遺漏';'班後聲明,使用'new',而不是僅僅把變量在堆棧中,使用'ClassA.func'而不是'ClassA :: func' ...我建議你從一本好書或大學課程學習C++開始。 – 2013-02-23 14:13:46