Мой текущий код выглядит следующим образом:
enum Enum1 : signed __int8
{
Value1 = 1 ,
Value2 = 2 ,
Value3 = -3 // C4341
} ;
В сведениях об ошибке указано:
"предупреждение C4341: "Value3": значение со знаком выходит за пределы допустимого диапазона для константы перечисления"
MSDN заявляет, что это предупреждение возникает только при использовании значений вне диапазона int:
(> 2^31) ИЛИ (‹ 1 - 2^31)
Почему он говорит мне, что мои отрицательные значения недействительны? Это всего лишь предупреждение, но Google говорит мне, что это предупреждение указывает на то, что эти значения перечисления будут неопределенными, что нарушит мою программу.