Share via


컴파일러 경고(수준 1) CS0420

업데이트: 2007년 11월

오류 메시지

'identifier': volatile 필드에 대한 참조는 volatile로 처리되지 않습니다.
'identifier': a reference to a volatile field will not be treated as volatile

volatile 필드는 함수 범위 내에서 volatile로 처리되지 않으므로 ref 또는 out 매개 변수를 사용하여 전달할 수 없습니다. 단, interlocked API를 호출하는 경우 등은 예외입니다. 의도적으로 volatile 필드를 참조 매개 변수로 사용하는 경우 경고가 발생하면 #pragma warning을 사용하여 이 경고를 비활성화할 수 있습니다.

다음 샘플에서는 CS0420 오류가 발생하는 경우를 보여 줍니다.

// CS0420.cs
// compile with: /W:1
using System;

class TestClass
{
   private volatile int i;

   public void TestVolatile(ref int ii)
   {
   }

   public static void Main()
   {
      TestClass x = new TestClass();
      x.TestVolatile(ref x.i);   // CS0420 
   }
}