Bon, ça n'a rien à voir avec Qt, mais j'arrive pas à affecter des p*tains de pointeurs à une p*tain de structure contenant des p*tain de pointeurs de p*tain de fonction.
Dans le header de la lib :
typedef void (*irc_event_callback_t) (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count);
typedef void (*irc_eventcode_callback_t) (irc_session_t * session, unsigned int event, const char * origin, const char ** params, unsigned int count);
typedef void (*irc_event_dcc_chat_t) (irc_session_t * session, const char * nick, const char * addr, irc_dcc_t dccid);
typedef void (*irc_event_dcc_send_t) (irc_session_t * session, const char * nick, const char * addr, const char * filename, unsigned long size, irc_dcc_t dccid);
Puis :
typedef struct
{
irc_event_callback_t event_connect;
irc_event_callback_t event_nick;
irc_event_callback_t event_quit;
irc_event_callback_t event_join;
irc_event_callback_t event_part;
irc_event_callback_t event_mode;
irc_event_callback_t event_umode;
irc_event_callback_t event_topic;
irc_event_callback_t event_kick;
irc_event_callback_t event_channel;
irc_event_callback_t event_privmsg;
irc_event_callback_t event_notice;
irc_event_callback_t event_invite;
irc_event_callback_t event_ctcp_req;
irc_event_callback_t event_ctcp_rep;
irc_event_callback_t event_ctcp_action;
irc_event_callback_t event_unknown;
irc_eventcode_callback_t event_numeric;
irc_event_dcc_chat_t event_dcc_chat_req;
irc_event_dcc_send_t event_dcc_send_req;
} irc_callbacks_t;
J'ai donc défini ça :
void event_connect (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_nick (irc_session_t *session, unsigned int event, const char *origin, const char **params, unsigned int count){}
void event_quit (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void join (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_part (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_mode (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_umode (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_topic (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_kick (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_channel (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_privmsg (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count){}
void event_notice (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_channel_notice (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_invite (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_ctcp_req (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_ctcp_rep (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_ctcp_action (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_unknown (irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count){}
void event_numeric (irc_session_t *session, unsigned int event, const char *origin, const char **params, unsigned int count){}
void event_dcc_chat_req (irc_session_t * session, const char * nick, const char * addr, irc_dcc_t dccid){}
void event_dcc_send_req (irc_session_t *session, const char *nick, const char *addr, const char *filename, unsigned long size, irc_dcc_t dccid){}
Et ensuite, j'essaye d'écrire la structure de type irc_callbacks_t :
irc_callbacks_t ic =
{
event_connect,
event_nick,
event_quit,
join,
event_part,
event_mode,
event_umode,
event_topic,
event_kick,
event_channel,
event_privmsg,
event_notice,
event_channel_notice,
event_invite,
event_ctcp_req,
event_ctcp_rep,
event_ctcp_action,
event_unknown,
event_numeric,
event_dcc_chat_req,
event_dcc_send_req
};
Mais là, je me plante certainement côté syntaxe, j'arrive pas à faire cette p*tain d'affectation. Ca me surgonfle
LE pire est que j'ai 5 erreurs comme ça à la compilation :
error: invalid conversion from
'void (*)(irc_session_t*, unsigned int, const char*, const char**, unsigned int)
{aka void (*)(irc_session_s*, unsigned int, const char*, const char**, unsigned int)}' to 'irc_event_callback_t
{aka void (*)(irc_session_s*, const char*, const char*, const char**, unsigned int)}' [-fpermissive]
Je panne rien

Comment écrire cette malheureuse structure contenant une 15aine de pointeurs de fonctions ??