Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0564

Pierwszy operand przeciążonego operatora przesunięcia musi mieć taki sam typ jak typ zawierający, a typ drugiego operandu musi być int

Podjęto próbę przeciążenia operatora przesunięcia (<< lub >>) z niepoprawnie wpisanymi operandami. Pierwszy operand musi być typem, a drugi operand musi mieć typ int.

Poniższy przykład generuje 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()
   {  
   }  
}