我試圖調用函數使用上面的函數指針,但它一直顯示此錯誤:表觀函數類型之前的表達式必須具有(指針 - )函數類型的括號。任何幫助?函數編譯錯誤指針
#include<iostream>
using namespace std;
class a
{
public:
a(){}
int f(float m){cout<<"called.\n";return 1;}
};
int main()
{
int (a::*ptr2)(float m) = &a::f;
a *p ,obj;
p = &obj;
obj.*ptr2(.8);
p->*ptr2(.5);
}
嘗試'(OBJ * PTR2)(8);'和'(對 - > * PTR2)(5 );'。 – songyuanyao
此代碼**不使用指向函數**的指針。它使用**指向成員函數**。他們是兩個完全不同的東西。 –