0
我的问题是非常相似的联盟初始化Apache模块与C++
Apache module command parser prototype
不过,我在apr_cmd更多初始化[],即我有一些像
static const command_rec apr_cmds[] =
{
AP_INIT_TAKE1("analytics_ip", apr_cfg_set_analytics_ip, NULL, OR_ALL, ""),
AP_INIT_TAKE1("AuthenDenied", set_authen_denied, (void*)APR_OFFSETOF(config_rec, authen_denied), OR_AUTHCFG, ""),
AP_INIT_FLAG("RefreshCookies", ap_set_flag_slot, (void*)APR_OFFSETOF(config_rec, refresh_cookies), OR_AUTHCFG, ""),
{ NULL }
};
对于每个初始化,我得到“无法转换为cmd_func”编译错误。
Krystof建议使用
#ifdef __cplusplus
typedef const char *(*cmd_func) (cmd_parms *cmd, void *dummy, const char *path);
#else
typedef const char *(*cmd_func)();
#endif
如果我这样做,第一个错误将不复存在。但是,其他错误仍然存在,因为我无法再次为第二个函数set_authen_denied重新定义cmd_func。
任何帮助表示赞赏。
太谢谢你了,Yumetodo。 – NickOSU