コンパイラ エラー CS0564

更新 : 2007 年 11 月

エラー メッセージ

オーバーロードされた shift 演算子の最初のオペランドはそれを含む型と同じ型、2 番目のオペランドの型は int でなければなりません

間違って入力したオペランドによりシフト演算子 (<< または >>) をオーバーロードしようとしました。最初のオペランドは型であることが必要で、2 番目のオペランドは int 型であることが必要です。

次の例では CS0564 エラーが生成されます。

// CS0564.cs
using System;
class C
{
   public static int operator << (C c1, C c2) // CS0564
// To correct, change second operand to int, like so:
// public static int operator << (C c1, int c2)
   {
      return 0;
   }
   static void Main() 
   {
   }
}