컴파일러 오류 CS0151
업데이트: 2007년 11월
오류 메시지
정수 계열 형식 값이 필요합니다.
A value of an integral type expected
정수 계열 데이터 형식이 필요한 상황에 변수를 사용했습니다. 자세한 내용은 형식(C# 프로그래밍 가이드)을 참조하십시오.
예제
이 오류는 변환이 없는 경우 또는 사용할 수 있는 암시적 변환으로 모호한 상황이 발생한 경우 생성될 수 있습니다. 다음 샘플에서는 CS0151 오류가 발생하는 경우를 보여 줍니다.
// CS0151.cs
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;
}
}
}
Visual Studio 2008 이상에서는 void 메서드를 호출하면 CS0151이 발생합니다. int 또는 long과 같은 정수 계열 형식을 반환하는 메서드를 호출하여 이 오류를 수정할 수 있습니다.
class C
{
static void Main()
{
switch (M()) // CS0151
{
default:
break;
}
}
static void M()
{
}
}