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