i have an array of animated mesh to control then but i want to know if i can do some kind of cast or something to put a billboard into the array for example
Just use core::array<scene::ISceneNode*> to store the objects. You need a cast when accessing special functions of the scene node types, though. Otherwise you can only use the basic ISceneNode methods.
static_cast will work in most cases. If you have RTTI enabled you can use dynamic_cast instead, in order to have safe casts (will return 0 if you cast to the wrong types). Moreover, dynamic_cast is also necessary when upcasting from multi-inherited classes. reinterpret_cast is only necessary when casting structures without changing the underlying bit-level content. Mostly necessary for byte streams and C-style arrays.