Hi,
I have a problem with copy ctor and RootCint. To illustrate the problem
please see the macro below. It works fine when compiled. Could you
please
explain this behavior ? Am I doing something wrong ?
Regards,
-------------
#ifndef __CINT__
#include <cstdio>
#endif
class A {
public:
A() { }
A(const A& a) { printf("oups...\n") ; }
virtual ~A() { }
} ;
class B : public A {
public:
B() { }
virtual ~B() { }
} ;
class C {
public:
C() { }
~C() { }
void test(const A& a) { printf("OK\n") ; }
} ;
void RootCopy(void)
{
A a ;
B b ;
C c ;
// should produce "OK"
c.test(a) ;
// should also produce "OK" but produces "oups... OK"
c.test(b) ;
}
#ifndef __CINT__
int main(void)
{
RootCopy() ;
}
#endif
--
Dr. Laurent APHECETCHE (mailto:aphecetc@in2p3.fr) | TAPS/PHENIX/ALICE
SUBATECH-Ecole des Mines de Nantes-4 rue Alfred Kastler-44070 NANTES
cedex 03
TEL (+33/0) 2 51 85 84 17 - FAX (+33/0) 2 51 85 84 24 (France)
http://www-subatech.in2p3.fr/~photons -
http://www.phenix.bnl.gov/~aphecetc
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:24 MET