50分,不知哪里出错了
typedef struct{
oid mib_objoid;//结构体
int mib_vartype;
Bool mib_writable;
Bool mib_varleaf;
int (*mib_func)( snbentry * , struct mib_info * , char );//注意这里
char *mib_func_param;
struct mib_info *mib_info_next;
}mib_info;
mib_info mib[] = {//初始化
{{ {7, 1, 0}, 3}, ASN1_OCTSTR,FALSE, LEAF, snleaf, 0, 0},//snleaf应该是函数的地址。
{{ {7, 4, 0}, 3}, ASN1_OCTSTR,FALSE, LEAF, snleaf, 0, 0},};
//定义snleaf()函数
int snleaf( snbentry *psnbentry , mib_info *pmib_info , char op ){......}
/*--------------------------------------------------------
abc()函数,他应该在if判断中调用snleaf(),但是编译显示((*pmib_info->mib_func)(psnbentry , pmib_info->mib_info_next , SOP_GETF)) )出错
--------------------------------------------------------*/
int abc(){
if( err = ((*pmib_info->mib_func)(psnbentry , pmib_info->mib_info_next , SOP_GETF)) )
.................
if( err = ((*pmib_info->mib_func)(psnbentry , pmib_info->mib_info_next , SOP_GETF)) )
{
rqdp->err_stat = err;
rqdp->err_idx = i;
return SYSERR;
}
请问,我错在哪里?