[ROOT] references to pointers oddities

From: Stefano Bettelli (bettelli@tn.infn.it)
Date: Wed May 10 2000 - 00:15:40 MEST


Dear Rooters,
        I recently upgraded from Root 2.23.12 to 2.24.04,
        and a macro of mines worked no more. It seems that
        CINT doesn't handle pointers passed by reference
        any more:

        void foo(TPad *&a_pad) { a_pad = new TPad(...); }

        when foo() is called, a_pad in not NULL inside the
        function, but the pointer passed as argument to foo()
        is not changed in the main. Passing a double pointer
        works though:
        
        void foo(TPad **pad_pt) { TPad *&a_pad = *pad_pt; a_pad = new TPad(...); }

        any comment?

----------------------------------------------------------
E-Mail: Stefano Bettelli <bettelli@tn.infn.it>
WWW   : http://meitner.tn.infn.it/~bettelli
Tel   : +39-0347-1663760



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:24 MET