中的運算符[]不匹配如上所述,我收到錯誤消息:與mHbbtSMFnPtrs [mCurrHbbtvState] [hbbtvSMEvntsParam](hbbtvSMEvents,hbbtvSMEvntsParam)中的運算符[]不匹配。出現錯誤:
typedef int (*HBBTVSMFnPtr)(int hbbtvSMEvent, HBBTVSMEvntParam smEvntParam);
static int HBBTVSMErrorHandler(int hbbtvSMEvent, HBBTVSMEvntParam smEvntParam);
聲明:
static HBBTVSMFnPtr mHbbtSMFnPtrs[HBBTV_SM_STATE_MAXSTATES][HBBTV_SM_EVNT_MAXEVNTS];
static int mCurrHbbtvState = HBBTV_SM_STATE_TURNEDOFF;
typedef struct
{
char* param;
int paramLength;
}HBBTVSMEvntParam;
它的任務:
mHbbtSMFnPtrs[loopVar1][loopVar2] = HBBTVSMErrorHandler;
,並調用它像這樣:在沒有看到變量的聲明
int a = mHbbtSMFnPtrs[mCurrHbbtvState][hbbtvSMEvntsParam](hbbtvSMEvents, hbbtvSMEvntsParam);
向我們展示「mHbbtSMFnPtrs」是如何定義的。 – 2013-05-03 10:56:50
請顯示'mHbbtSMFnPtrs'的*聲明*。 – trojanfoe 2013-05-03 10:57:13
我懷疑這些人可能會喜歡一個更完整的堆棧跟蹤,並且如果可能的話查看「mHbbtSMFnPtrs」是什麼? – Tom 2013-05-03 10:57:34