Hi,
On Thu, 2004-09-02 at 06:19, shailesh kumar wrote:
> one more question on functors :
> I have a header file myclass.h which has the class myclass
> myclass {
> public :
> void func1(osg::NodePtr nptr,osg::UInt32 mask);
> ::Action::ResultE enterSetVisible(osg::NodePtr& node);
> }
>
> and in myclass.cpp I have implemented the two functions like this :
> ::Action::ResultE myclass::enterSetVisible(NodePtr& node)
> {
> /********* code ***********/
> return ::Action::Continue;
> }
>
> void SceneGraphAnalyser::func1(NodePtr nptr,UInt32 mask){
> traverse(nptr,
> osgTypedFunctionFunctor1CPtrRef<::Action::ResultE ,
> NodePtr >(myclass::enterSetVisible));
>
> }
>
>
> on compiling I am getting the error :
> error C2664: 'osg::osgTypedFunctionFunctor1CPtrRef' : cannot convert
> parameter 1 from 'osg::Action::ResultE (osg::NodePtr &)' to
> 'osg::Action::ResultE (__cdecl *)(osg::NodePtr &)'
>
> Any hints at why I am getting this error will be very helpful .
you try to pass pass a member function whereas
osgTypedFunctionFunctor1CPtrRef expects a non-member/static member
function. Either make the function static in your class or use either
the TypedMethod or TypedStoredObject version of the functor creation
function.
regards,
gerrit
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users