ciao
ho il seguente codice:
[code]
enum IfcTimeSeriesDataTypeEnum {
continuous,
discrete,
discretebinary,
piecewisebinary,
piecewiseconstant,
piecewisecontinuous,
notdefined,
};
[code]
e
codice:
enum IfcTransitionCode {
discontinuous,
continuous,
contsamegradient,
contsamegradientsamecurvature,
};
questi due blocchi di codice sono autogenerati, posseggo infatti tutti gli enum in una mappa a partire da un xsd , e li creo con un ciclo ,ho i metadati .
Il problema è che naturalmente il compilatore c++ mi da quest errore:
codice:
c:\IFCXML\Dom\test2\conversions\ifc.h(366): error C2365: 'continuous' : redefinition; previous definition was a 'enumerator'
c:\IFCXML\Dom\test2\conversions\ifc.h(273) : see declaration of 'continuous'
qual è il modo migliore di sistemare il tutto per voi?
sapendo che questi enum vengono utilizzati col loro nome, senza namespace da una serie di classi anch esse autogenerate , quindi se si cambia il nome , questo va cambiato anche in tutte le classi .
Avevo visto il modo di "fare partire" l'enum da un indice diverso impostando con un uguale l'offset nell enum.
cosi:
codice:
enum pippoEnum
{
pippoa,
pippob,
pippoc
};
enum plutoEnum
{
pippoa = 5,
pluto,
pluto
};
puo ' essere una soluzione ?
il problema è che le classi si riferiscono con pippoa a due enum diversi , quale si sceglie?
insomma sono un po a corto di idee.
magari un typedef?????
grazie.