【发布时间】:2016-08-01 02:36:32
【问题描述】:
我的问题与
非常相似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。
感谢任何帮助。
【问题讨论】:
标签: c++ apache visual-studio