Meine Frage ist sehr ähnlichUnion Initialisierung für Apache-Modul mit C++
Apache module command parser prototype
Allerdings habe ich mehr Initialisierungen in apr_cmd haben [], also habe ich so etwas wie
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 }
};
Für jede Initialisierung, ich habe "kann nicht zu cmd_func kompilieren Fehler".
Krystof schlägt
#ifdef __cplusplus
typedef const char *(*cmd_func) (cmd_parms *cmd, void *dummy, const char *path);
#else
typedef const char *(*cmd_func)();
#endif
Wenn ich dies tun verwenden, der erste Fehler wird verschwunden sein. Die anderen Fehler bleiben jedoch bestehen, da ich cmd_func für die zweite Funktion set_authen_denied nicht erneut definieren kann.
Jede Hilfe wird geschätzt.
Vielen Dank, Yumetodo. – NickOSU