VC/CC C++ and multiple inheritance

From: Anton Fokin (dr_mamadu@mail.ru)
Date: Tue Nov 30 1999 - 13:15:02 MET


Hi rooters,

here is a C++ question. I made a class TTimeSeries, which is derived from TObjArray and TGraph. I can compile the class on Sun Solaris with CC but if I move to VC6, it says:

loader.cxx(283) : error C2385: 'TTimeSeries::new' is ambiguous
loader.cxx(283) : warning C4385: could be the 'new' in base 'TObject' of base 'TCollection' of base 'TSeqCollection' of base 'TObjArray' of class 'TTimeSeries'
loader.cxx(283) : warning C4385: or the 'new' in base 'TObject' of base 'TNamed' of base 'TGraph' of class 'TTimeSeries'
loader.cxx(283) : error C2385: 'TTimeSeries::delete' is ambiguous
loader.cxx(283) : warning C4385: could be the 'delete' in base 'TObject' of base 'TCollection' of base 'TSeqCollection' of base 'TObjArray' of class 'TTimeSeries'
loader.cxx(283) : warning C4385: or the 'delete' in base 'TObject' of base 'TNamed' of base 'TGraph' of class 'TTimeSeries'


Well, that's fine, but remaining questions are

1) what is a correct way to solve this problem and is this a problem?
2) if I can compile this under CC ... will I get any "bad" things around new and delete during run time?
3) both base-base classes for TTimeSeries are the same, i.e. TObject. Why VC thinks it is ambiguous definition?

Best regards,
Anton



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:43 MET