[Function] Encapsulated inside a class, won't initialize.

Hi there,
I'm using boost::function defined private inside a class and then assign a
function comming from another boost::function. But it don't work.
A little code may help understand my pretty bad explanation.
#######
class C
{
public:
void Bind(boost::function

Ravey Alexandre wrote:
Hi there,
I'm using boost::function defined private inside a class and then assign a function comming from another boost::function. But it don't work.
A little code may help understand my pretty bad explanation. ####### class C { public: void Bind(boost::function
f); private: boost::function func; }; void C::Bind(boost::function
f) { func = f; //Compile, but raise an access violation. } #######
The problem seems obvious to me, func si not initialized correctly and swap() fail.
But I can't figure out how to make this work.
Can you provide a minimally complete compilable example that exhibits the problem. I think the problem lies in the code that you don't show. For example your instance of Class C may not be properly constructed, or the function f has bound arguments that do not copy/assign properly. Jeff
participants (2)
-
Jeff Flinn
-
Ravey Alexandre