Hi Guido, I am guessing that this declaration is inside a namespace (1) or in a .C file (2). All other cases I could think of were either working or illegal C++. In case (1), use #ifdef __CINT__ const char DBDataTypesNames[8][20]; #else const char DBDataTypeNames[8][20] = {"bool", "vector<bool>", "int", "vector<int>", "float", "vector<float>", "string", "empty"}; #endif In case (2), either DBDataTypesNames is already defined in a header either it is not suppose to bepublic so just do: #ifndef __CINT__ const char DBDataTypeNames[8][20] = {"bool", "vector<bool>", "int", "vector<int>", "float", "vector<float>", "string", "empty"}; #endif Cheers, Philippe -----Original Message----- From: owner-roottalk@pcroot.cern.ch [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Guido Gagliardi Sent: Friday, October 31, 2003 12:00 PM To: 'roottalk@pcroot.cern.ch' Subject: [ROOT] Const char[][] Hi, still trying to generate the dictionary for my class, i got this error message: Generating dictionary RootDBDict.cxx... Error: array initialization FILE:PixConfDBInterface.h LINE:33 Syntax Error: "empty" Maybe missing ';' FILE:PixConfDBInterface.h LINE:33 Error: Too many '}' FILE:PixConfDBInterface.h LINE:118 Warning: Error occured during reading source files Warning: Error occured during dictionary source generation !!!Removing RootDBDict.cxx RootDBDict.h !!! Error: rootcint: error loading headers... make: *** [RootDBDict.cxx] Error 1 referring to this code line: const char DBDataTypeNames[8][20] = {"bool", "vector<bool>", "int", "vector<int>", "float", "vector<float>", "string", "empty"}; Is this normal? What sould i do to avoid this problem? I am using root 3.10.01 and linux red hat 7.3, with gcc 2.96 Thank you Guido
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET