c++ - Getting an error: no match for operator[] in -
as stated above i'm getting error:no match operator[] in mhbbtsmfnptrs[mcurrhbbtvstate][hbbtvsmevntsparam](hbbtvsmevents, hbbtvsmevntsparam);
typedef int (*hbbtvsmfnptr)(int hbbtvsmevent, hbbtvsmevntparam smevntparam ); static int hbbtvsmerrorhandler(int hbbtvsmevent, hbbtvsmevntparam smevntparam); declaration:
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; it's assignment:
mhbbtsmfnptrs[loopvar1][loopvar2] = hbbtvsmerrorhandler; and calling so:
int = mhbbtsmfnptrs[mcurrhbbtvstate][hbbtvsmevntsparam](hbbtvsmevents, hbbtvsmevntsparam);
without seeing declarations of variables, problems are:
mhbbtsmfnptrsisn't 2-dimensional array (or similar container) of function pointers, or- either
mcurrhbbtvstateorhbbtvsmevntsparamisn't integer or unscoped enumeration type, can't used array index.
if don't errors assignment line, second more likely.
if post declarations of these, see case. also, should consider using readable names - make problems easier spot.
Comments
Post a Comment