读书人

请问函数指针的有关问题

发布时间: 2012-05-20 16:03:12 作者: rapoo

请教函数指针的问题
typedef void (*AppFunciont)(const char*,const char*);

struct MethodDef
{

MethodDef(const char* name,AppFunciont fun,int flag,const char* doc)
:fuName(name),pFun(fun),mflag(flag),mDoc(doc)
{

}
const char* fuName;
AppFunciont pFun;
int mflag;
const char* mDoc;
};


我初始化结构体的时候总是报错

MethodDef AppCommandDef[] = {
{"newDocument",(AppFunciont)App_Application::newDocument_S,1,""}
};


Error2error C2552: 'AppCommandDef' : non-aggregates cannot be initialized with initializer list
Error3error C2440: 'type cast' : cannot convert from 'void (__thiscall App_Application::* )(const char *,const char *)' to 'AppFunciont'

请问是什么错误???

[解决办法]
不支持这种结构体的初始化方法
你的函数是否添加了static

读书人网 >C语言

热点推荐