次の方法で共有


コンパイラ エラー C3920

'operator'' : 後置インクリメント/デクリメント WinRT または CLR 演算子を定義できません。後置 WinRT または CLR 演算子を呼び出すと、対応するプレフィックス WinRT または CLR 演算子 (op_Increment/op_Decrement) が呼び出されますが、後置セマンティクスを使用します

Windows Runtime および 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;
};