Try

   template<class T> register() {
     VobjectBase::registerHandler<T>("message", &T::handler);
   }

(note T::handler)

This should work, this is exactly how it works in s5.

On Thu, Mar 15, 2007 at 04:49:17PM -0400, Reed Hedges wrote:
> 
> For one thing, apparently you can't do this:
> 
> class Base {
> public:
>   virtual void pure() = 0;
>   template<class T> register() {
>     VobjectBase::registerHandler<T>("message", &handler);
>   }
>   void handler(Message *m) {
>     ...
>   }
> };
> 
> class VirtualDerived : public virtual Base {
> public:
>   VirtualDerived() {
>     Base::register<VirtualDerived>();
>   }
>   virtual void pure() { ... };
> };
> 
> _______________________________________________
> vos-d mailing list
> vos-d@interreality.org
> http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

-- 
[   Peter Amstutz  ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]

Attachment: signature.asc
Description: Digital signature

_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

Reply via email to