Case label does not reduce to an integer constant?

Hello,
trying to compile the following

[code] const int nSetFiles = 15;

const int MP_NOMPI = nSetFiles + 1;
const int MP_DIRECT = nSetFiles + 2;
const int MP_DATA = nSetFiles + 3;

//…

switch (f) {
case MP_DATA: file_name += “data.root”; break; //line 69
case MP_NOMPI: file_name += pytFileName(pVersion, nompiSet, nompiParam.PARP81min); break;
case MP_DIRECT: file_name += pytFileName(pVersion, dirSet, dirParam.PARP81min); break;
default: file_name += pytFileName(pVersion, pSet, P81min + f);
}[/code]

CINT gives me an error:

####/mctune_parabola.h:69: error: case label does not reduce to an integer constant ####/mctune_parabola.h:70: error: case label does not reduce to an integer constant ####/mctune_parabola.h:71: error: case label does not reduce to an integer constant

gcc did compile it. Is there any Workaround to get this running with ROOT?

Hi,

void enumconst() { const int nSetFiles = 15; const int MP_NOMPI = nSetFiles + 1; switch (MP_NOMPI) { case MP_NOMPI: printf("good\n"); break; default: printf("bad\n"); break; } }works for me. So we must have fixed it already.

Cheers, Axel.