Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0254

Prawa strona przypisania stałej instrukcji może nie być wyrażeniem rzutowania

Prawa strona wyrażenia stałego może nie używać rzutowania. Aby uzyskać więcej informacji, zobacz Niebezpieczny kod i wskaźniki.

Poniższy przykład generuje CS0254:

// CS0254.cs  
// compile with: /unsafe  
class Point  
{  
   public uint x, y;  
}  
  
class FixedTest  
{  
   unsafe static void SquarePtrParam (int* p)  
   {  
      *p *= *p;  
   }  
  
   unsafe public static void Main()  
   {  
      Point pt = new Point();  
      pt.x = 5;  
      pt.y = 6;  
  
      fixed (int* p = (int*)&pt.x)   // CS0254  
      // try the following line instead  
      // fixed (uint* p = &pt.x)  
      {  
         SquarePtrParam ((int*)p);  
      }  
   }  
}