RE: [ROOT] pointer to member function

From: Philippe Canal (pcanal@fnal.gov)
Date: Wed Mar 26 2003 - 00:58:34 MET


Hi,

You probably can work-around the problem by adding '//!' as comment at the
end of your declaration. (In effect this makes that datamember
non-persisitent ... which should be the case automatically).  Hence:

   Int_t  (Event::*Sgz)(Int_t, Double_t&, Double_t*, Double_t*, Double_t*,
Double_t*); //!

Cheers,
Philippe


-----Original Message-----
From: owner-roottalk@pcroot.cern.ch
[mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Igor Giller
Sent: Tuesday, March 25, 2003 8:44 AM
To: roottalk@pcroot.cern.ch
Cc: Igor Giller
Subject: [ROOT] pointer to member function



  Hello,

I am using root Version 3.03/9 with SuSE 8.1 and gcc3.2.
In my analysis program I define the Event Class and add it with
shared library to the root framework. The program worked fine.

At some moment I decided to use pointer to member function of
the Event Class.

   class Event : public TObject {
    private:
   ......
   Int_t  (Event::*Sgz)(Int_t, Double_t&, Double_t*, Double_t*, Double_t*,
Double_t*);
    public:
   ......
     ClassDef(Event,1)
    };


After defining this pointer program crashed
  " *** Break *** segmentation violation "
while executing the function
  "branch_mc = tree->Branch("event_mc","Event",&event_mc,bufsize,split);" .

What can be the problem?


Thanks in advance.
Igor



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:10 MET