C ++ Switch не будет компилироваться с внешне определенной переменной, используемой как регистр
Я пишу на C ++ с использованием компилятора MinGW GNU, и проблема возникает, когда я пытаюсь использовать внешне целочисленную переменную как регистр в выражении switch. Я получаю следующую ошибку компилятора: "метка case не сводится к целочисленной константе ".
Потому что я'Я определил целочисленную переменную как extern. Я считаю, что она должна компилироваться. Кто-нибудь знает, в чем может быть проблема?
Ниже приведен пример:
test.cpp
#include
#include "x_def.h"
int main()
{
std::cout < "Main Entered" < std::endl;
switch(0)
{
case test_int:
std::cout < "Case X" < std::endl;
break;
default:
std::cout < "Case Default" < std::endl;
break;
}
return 0;
}