컴파일러 오류 CS0151

정수 형식 값이 필요합니다.

정수 데이터 형식이 필요한 상황에서 변수가 사용되었습니다. 자세한 내용은 형식을 참조하세요.

모호한 변환의 예제

이 오류는 변환이 없거나 사용 가능한 암시적 변환으로 인해 모호한 상황이 나타나는 경우에 발생할 수 있습니다. 다음 예제에서는 CS0151을 생성합니다.

public class MyClass
{
   public static implicit operator int (MyClass aa)
   {
      return 0;
   }

   public static implicit operator long (MyClass aa)
   {
      return 0;
   }

   public static void Main()
   {
      MyClass a = new MyClass();

      // Compiler cannot choose between int and long.
      switch (a)   // CS0151
      // try the following line instead
      // switch ((int)a)
      {
         case 1:
            break;
      }
   }
}