Hello George,
This is a known cint limitation which is described in doc/limitati.txt
in cint source package. All of following casting expressions behaves
the same as C style casting in cint at this moment.
dynamic_cast<T>(v) same as (T)v
static_cast<T>(v) same as (T)v
reinterpret_cast<T>(v) same as (T)v
const_cast<T>(v) same as (T)v
Cint simply reads the syntax.
Thank you
Masaharu Goto
>
>Hi,
>
>I was playing around a bit with dynamic_cast<>, having read a bit more
>in Stroustrup, who says:
>
>'dynamic_cast<T*>(p) looks at the object pointed to by p (if any). If
>that object is of class T or has a unique base class of type T, then
>dynamic_cast returns a pointer of type T* to that object; otherwise, 0
>is returned.'
>
>This seems like very intuitive, useful, and meaningful behavior, and
>shouldn't be too hard to implement either, since you've already got
>dynamic type information running around.
>
>However, if in ROOT I do:
>
>class Base {
> int foo;
>};
>
>class Derived {
> int bar;
>};
>
>Derived *x = new Derived;
>Base *y = dynamic_cast<Base *>(x); // This works, as it should;
>TObject *z = dynamic_cast<TObject *>(x); // This gives non-zero,
> // as it shouldn't!
>
>George Heintzelman
>gah@bnl.gov
>
>
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:39 MET