Bonjour !

Je cale devant une erreur de GCC, j'aurais besoin de vos lumières.
Donc j'ai une classe qui contient un pointeur naturiste, et une fonction qui est censée le creer !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
    template<typename Protocol>
    class session
    {
    protected:
        handlers::packet_handler_impl* m_handler;
    public:
        template<template<typename, typename, bool> class Handler, typename Engine, bool EnableClient, typename... Args>
        session<Protocol>* create_handler(Args&... args) { m_handler = new Handler<Protocol, Engine, EnableClient>(args...); return this; }
     };
Ensuite, j'ai donc une classe "handler", certe moche...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
        template<typename Protocol, typename Engine, bool EnableClient>
        class basic_client: public packet_handler<basic_client<Protocol, Engine, EnableClient>> { };

Et je creer le handler de cette facon:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
(new sessions::client<Protocol>(*new_socket))->create_handler<handlers::basic_client<Protocol, null_class, disable_client>, null_class, disable_client>(new_socket)
null_class est une classe vide, class dummy {};

Le compilo me sort alors... quand je creer le handler
/media/data/dev/projects/baws/baws/net/server_engine_inl.h|37|error: expected ‘(’ before ‘,’ token|
/media/data/dev/projects/baws/baws/net/server_engine_inl.h|37|error: expected primary-expression before ‘,’ token|
Sauriez vous m'eclairer?
nico