[ROOT] problem with overloaded methods in ACLIC

From: Ruben Shahoian (Ruben.Shahoyan@cern.ch)
Date: Tue Jul 23 2002 - 18:06:21 MEST


Hello,
when I am trying to compile the macros which is using the
classes (defined in usual precompiled shared libraries) with
overloaded methods, I get plenty of messages that the
method of base class "was hidden" by the method
of derived one.

An example: my NaElem (derived from TNamed)  class has methods
virtual void NaElem::CreateGeometry (NaElem *)
virtual void NaElem::CreateGeometry ()

The class NaDetector (derived from NaElem) has method
virtual void NaDetector::CreateGeometry ()

The compilation gives:

root [0] .L VerTelCalib.C++
Info in <ACLiC>: creating shared library
/home/shahoian/NA60/macros/VerTelCalib_C.so
In file included from /home/shahoian/NA60/include/NaVertexTelescope.h:14,
                 from /home/shahoian/NA60/macros/VerTelCalib.C:10,
                 from /home/shahoian/NA60/macros/fileSjTKpc.h:29,
                 from /home/shahoian/NA60/macros/fileSjTKpc.C:5:
/home/shahoian/NA60/include/NaElem.h:147: warning: `NaElem::CreateGeometry  (NaElem *)' was hidden
/home/shahoian/NA60/include/NaDetector.h:113: warning:   by `NaDetector::CreateGeometry ()'
....
In the end, it compiles successfully, but these messages are quite
embarassing and hinder the tracking of real errors. Is there any solution?

Regards,
	Ruben Shahoyan



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:00 MET