У меня есть класс перечисление, как это:Enum Класс «не удалось преобразовать в беззнаковое Int»
typedef unsigned int binary_instructions_t;
enum class BinaryInstructions : binary_instructions_t
{
END_INSTRUCTION = 0x0,
RESET,
SET_STEP_TIME,
SET_STOP_TIME,
START,
ADD
};
И я пытаюсь использовать члены перечисления в распределительном заявление, как это:
const std::string& function(binary_instructions_t arg, bool& error_detect)
{
switch(arg)
{
case (unsigned int)BinaryInstructions::END_INSTRUCTION:
return "end";
break;
}
translate_error = true;
return "ERROR";
}
Почему отливка до (unsigned int)
требуется, если базовый тип уже является unsigned int
?
Если вы передадите «правый» тип функции (BinaryInstructions), а не тот, который находится в основе (binary_instructions_t), вам не понадобится приведение. –