
It does skim over it a bit, but it's there in the examples. Like I said I did it wrong the first time too, but it does make sense as you say.
However it doesn't work in VC6 if I change my member function to have 'void' return and I change my boost::function signature to boost::function3<void,int,int,int> bf; . Now I get:
error C2562: '()' : 'void' function returning a value etc. What a PITA !
Hmmm... I tried your example code (now I have access to my dev machine) and it worked fine for me with a void function. You didn't forget to remove
"Phil Nash" <phil.nash.lists@squareseven.com> wrote in message news:002301c22b3f$270c5990$b937883e@TimeMachine... the
return statement (probably returning "a") from your method did you? It is true that VC++ 6 doesn't have void returns, but those clever chaps who wrote boost::function worked around it so it works as it should :-) If you definitely did remove your return statement then post the full code again here for further inspection.
I tried it with Boost 1.28 and it worked but failed in Boost 1.26. Evidently it was fixed between releases. Thanks for your help.