Share via


컴파일러 오류 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;
}