Boost logo

Boost Users :

Subject: Re: [Boost-users] [StateChart] pass objectpointer to FSM?
From: Bernt-Johan Bergshaven (bbergshaven_at_[hidden])
Date: 2011-03-14 18:24:10


Thank you for your quick respond.
I'm sorry for the small errors in my code, below is a code that compiles,
but as I try to run ./statemachine I get the following error:

Starting Elevator
Entering Elevator Idle At Floor state
Exiting Elevator Idle At Floor state
statemachine: ../boost/boost/cast.hpp:97: Target
boost::polymorphic_downcast(Source*) [with Target = ElevatorSM*, Source =
boost::statechart::state_machine<ElevatorSM, ElevatorActive,
std::allocator<void>, boost::statechart::null_exception_translator>]:
Assertion `dynamic_cast<Target>(x) == x' failed.
Aborted

So it is unable to run the test123() from the elevator class.

Edited code:
http://codepad.org/NBLZQYpU
http://codepad.org/wsQ5Kae0

g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3

Bernt-Johan

2011/3/14 Igor R <boost.lists_at_[hidden]>

> > My question:
> > How can I pass a pointer to an object into the state machine?
> >
> > I want to use my state machine to control a real-life elevator. All the
> > functions for controlling this elevator is inside class Elevator;
> > I.e: myElevator->startEngine(UP);
> >
> > I've tried different approaches as you might see in my attached code, but
> I
> > keep getting this error:
> > statemachine: ../boost/boost/cast.hpp:97: Target
> > boost::polymorphic_downcast(Source*) [with Target = ElevatorSM*, Source =
> > boost::statechart::state_machine<ElevatorSM, ElevatorActive>]: Assertion
> > `dynamic_cast<Target>(x) == x' failed.
> > Aborted
> >
> > h-file: http://codepad.org/i3rAjT1p
> > cpp-file: http://codepad.org/TpaWluCz
>
>
> Your code compiles well (after a few cosmetic changes, like fixing
> test123() name, adding "e" member to your fsm, etc.).
> boost 1.45, MSVC10.
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net