다음을 통해 공유


컴파일러 오류 C3920

'operator'' : 후위 증분/감소 WinRT 또는 CLR 연산자를 정의할 수 없습니다. WinRT 또는 CLR 연산자를 호출하면 해당 접두사 WinRT 또는 CLR 연산자(op_Increment/op_Decrement)를 호출하지만 후위 의미 체계를 사용합니다.

Windows 런타임 및 CLR은 후위 연산자를 지원하지 않으며, 사용자 정의 후위 연산자는 허용되지 않습니다. 전위 연산자를 정의할 수 있으며, 그러면 전위 연산자가 전위 증가 작업 및 후위 증가 작업에 모두 사용됩니다.

다음 샘플에서는 C3920 오류가 발생하는 경우 및 이를 해결하는 방법을 보여 줍니다.

// C3920.cpp
// compile with: /clr /LD
public value struct V {
   static V operator ++(V me, int)
   // try the following line instead
   // static V operator ++(V me)
   {   // C3920
      me.m_i++;
      return me;
   }

   int m_i;
};