Hello Klaus,
> There are no ambiguities with sigc++. There are templates involved, so
> you can't e.g. assign a mem_functor typed for a child to a mem_functor
> typed for a Parent. And I think you are mixing slots and functors...
I am sorry, you are apparently right.
>
> A slot represents a callable entity, no matter what functor is behind.
> So, a slot is the generic functor you want to have (only knowing about
> the return type and parameters, but loosing compile-time information
> about the original functor).
Thank you very much for explaining this to me. It is precisely what I need.
> What you want to do is the following:
>
> <code>
> Parent p;
> Child c;
>
> sigc::slot<int, Parent*, int, double, char> myclosure;
>
> myclosure = sigc::mem_fun(&Parent::f);
> const int ret1 = myclosure(&p, 0, 1.0, 'c');
>
> myclosure = sigc::mem_fun(&Child::g); <-- Error line
> const int ret2 = myclosure(&c, 0, 1.0, 'c');
> </code>
>
>
> Klaus Triend
Does this code compile for you? I just did copy and paste and tried to compile
the above code. The result was:
error: invalid conversion from ‘Parent* const’ to ‘Child*’
This is the same error I described before in the attached file.
So, if this is the right way to cope with my problem, why it refuses to compile?
But anyway, thank you for a brief and valuable response.
Now I at leas understand better what is what ...
_________________________________________________________________
Show them the way! Add maps and directions to your party invites.
http://www.microsoft.com/windows/windowslive/events.aspx
_______________________________________________
libsigc-list mailing list
libsigc-list@gnome.org
http://mail.gnome.org/mailman/listinfo/libsigc-list