Problem 768

Summary: Compilation error for G4ProcessTable.hh
Product: Geant4 Reporter: hans-herbert.fischer
Component: configAssignee: kurasige
Status: RESOLVED FIXED    
Severity: normal CC: kurasige
Priority: P2    
Version: 7.0   
Hardware: PC   
OS: Windows   

Description hans-herbert.fischer 2005-07-10 14:30:07 CEST
There seems to be no category "processes/management" in Bugzilla? Therefore I'm
using "config" - the problem is compiler dependent anyway...

Compiling with MS Visual C++ 7.1, the following error message is emitted:
geant4_7_1\source\processes\management\include\G4ProcessTable.hh(156) : error
C2143: syntax error : missing ';' before '*'
geant4_7_1\source\processes\management\include\G4ProcessTable.hh(156) : error
C2501: 'G4ProcessTable::G4UImessenger' : missing storage-class or type specifiers
geant4_7_1\source\processes\management\include\G4ProcessTable.hh(156) : error
C2501: 'G4ProcessTable::CreateMessenger' : missing storage-class or type specifiers
geant4_7_1\source\processes\management\include\G4ProcessTable.hh(156) : warning
C4183: 'CreateMessenger': missing return type; assumed to be a member function
returning 'int'

Can be fixed by including file "G4ProcessTableMessenger.hh" in "G4ProcessTable.hh".
Occurs for geant4_7_0_p01 and 7_1. Although the file is apparently unchanged,
the error did not show up when compiling the geant4_5_2 source with MS Visual
C++ 6.0.

Cheers Hans-Herbert
Comment 1 Gabriele Cosmo 2005-07-11 04:56:59 CEST
The correction should be to add a forward declaration of 'G4UImessenger' in
G4ProcessTable.hh to make the file self-consistent.
The problem reported by the user may raise in the user-code if the header
G4ProcessTable.hh is included.
Assigned to the responsible. Thanks.
Comment 2 kurasige 2005-07-11 05:34:59 CEST
A forward declaration of G4UImessenger is added in G4ProcessTable.hh
Will be included in future releases and reference tags