Michael Kuss writes: >> >> Yep. As has been discussed several times on the mailing list, CINT can >> only instantiate certain template arguments to std::vector. As you have >> found, the most glaring omission is the unsigned versions of built-in >> types. I think it is a shame that rootcint cannot simply ignore these, >> but it seems like problems with STL will be around for a while. It might >> be better to use #ifndef __CINT__ guards, viz., >> #ifndef __CINT__ >> std::vector<UInt_t> m_trackIds; >> #endif >> >> Of course, this means that the 'm_trackIds' class member is not visible >> in the interpreted version of the class, which might or might not matter >> to you. > >well, matters. However, if it is just an unsined faeture we should be >able to work-around. And sorry, must have missed this thread, also >haven't found it in a brief search now. Maybe someone can correct me if I am wrong, but I do not believe that it is currently possible to have a std::vector<Uint_t> data member that is visible in the interpreter. If you really want that, I believe that your only choice currently is to use the ROOT collection classes rather than STL vectors. Compiled code will, of course, work with either of these. >What I don't understand, then why does it work with the v3.02.07 compiled >with egcs? Some implicit type conversion to signed? Again, someone can correct me if I am wrong, but I do not think that it actually worked, only that CINT silently ignored it. Regards, Gora
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:15 MET