pointer-to-memberfunction + typedef



  • Hi,
    Hab ein Problem mit memberfunction-pointer/typedefs.
    Sieht jemand, woran es scheitert?

    template <class Class>
    struct memfun_type {
      typedef void (Class::*draw_ptr_type)();
      typedef void (Class::*reshape_ptr_type)(int, int);
    };
    
    template <class Class>
    struct memfun_holder {
      memfun_type<Class>::draw_ptr_type draw_ptr;       // error: expected `;' before "draw_ptr"
      memfun_type<Class>::reshape_ptr_type reshape_ptr; // error: expected `;' before "reshape_ptr"
    };
    


  • Auf die Schnelle würd ich behaupten, da fehlt typename:

    template <class Class>
    struct memfun_type {
      typedef void (Class::*draw_ptr_type)();
      typedef void (Class::*reshape_ptr_type)(int, int);
    };
    
    template <class Class>
    struct memfun_holder {
      typename memfun_type<Class>::draw_ptr_type draw_ptr;
      typename memfun_type<Class>::reshape_ptr_type reshape_ptr;
    };
    


  • argl .. du hast natürlich recht.
    thx


Anmelden zum Antworten