请教函数指针的问题
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