컴파일러 오류 CS0459
업데이트: 2007년 11월
오류 메시지
읽기 전용 지역 변수의 주소를 가져올 수 없습니다.
Cannot take the address of a read-only local variable
C# 언어에는 읽기 전용 지역 변수를 생성하는 세 가지 일반적인 시나리오가 있습니다. 즉, foreach, using 및 fixed 키워드를 사용하는 경우입니다. 이러한 각 시나리오에서 읽기 전용 지역 변수에는 쓸 수가 없고 그러한 매개 변수의 주소를 가져올 수도 없습니다. 이 오류는 읽기 전용 지역 변수의 주소를 가져오려고 할 경우 컴파일러에서 발생합니다.
예제
다음 예제에서는 foreach 루프 및 fixed 문 블록에서 읽기 전용 지역 변수의 주소를 가져오려고 할 때 CS0459 오류가 발생하는 경우를 보여 줍니다.
// CS0459.cs
// compile with: /unsafe
class A
{
public unsafe void M1()
{
int[] ints = new int[] { 1, 2, 3 };
foreach (int i in ints)
{
int *j = &i; // CS0459
}
fixed (int *i = &_i)
{
int **j = &i; // CS0459
}
}
private int _i = 0;
}