Problem 110

Summary: Change necessary for compilation with KCC v4.0 --strict
Product: Geant4 Reporter: greenc
Component: geometryAssignee: Gabriele Cosmo <Gabriele.Cosmo>
Status: RESOLVED FIXED    
Severity: normal CC: greenc
Priority: P2    
Version: 1.1   
Hardware: All   
OS: All   

Description greenc 2000-06-26 09:17:45 CEST
(From C. Green, CDF, FNAL)

Hi,

In addition to those changes detailed in problem report #104, it is necessary in
G4Polycone.hh to forward-declare the private nested class G4PolyconeHistorical
and declare it a friend before the class definition. If this is not done, then
under the strict interpretation of the name/scope injection rules adhered to by
KCC3.4 and later G4PolyconeHistorical will be unable to see itself. Simply
insert the lines:

class G4PolyconeHistorical;
friend class G4PolyconeHistorical;

before

struct G4PolyconeHistorical {
...
};

in the private section of the definition of G4Polycone.

Thanks,
Chris.
Comment 1 Gabriele Cosmo 2000-06-27 05:26:59 CEST
This looks like a compiler bug (and we do not officially support KCC).
I introduced the suggested fix in tag "geom-solids-specific-V01-01-01",
to be considered a temporary workaround.
Will be included in Geant4 2.0 public release.