컴파일러 오류 CS0031

업데이트: 2007년 11월

오류 메시지

'value' 상수 값은 'type'(으)로 변환할 수 없습니다. 재정의하려면 'unchecked' 구문을 사용하십시오.
Constant value 'value' cannot be converted to a 'type'. (use 'unchecked' syntax to override)

값을 저장할 수 없는 형식의 변수에 값을 할당하려고 했습니다. 자세한 내용은 형식(C# 프로그래밍 가이드)을 참조하십시오.

다음 샘플에서는 checked 및 unchecked 컨텍스트 모두에서 CS0031이 발생합니다.

// CS0031.cs
namespace CS0031
{
   public class a
   {
      public static void Main()
      {
         int num = (int)2147483648M; //CS0031
         // Try using a larger numeric type instead:
         // long num = (long)2147483648M; //CS0031

         const decimal d = -10M; // Decimal literal
            unchecked
            {
                const byte b = (byte)d; // CS0031
                // For small values try using a signed byte instead:
                // const sbyte b = (sbyte)d;
            }
      }
   }
}

참고 항목

참조

unchecked(C# 참조)