コンパイラ エラー 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;
};