Leggere in inglese

Condividi tramite


Errore del compilatore CS0254

La parte destra dell'assegnazione di un'istruzione fixed non può essere un'espressione cast

Il lato destro di un'espressione fixed non può usare un cast. Per altre informazioni, vedere Codice unsafe e puntatori.

L'esempio seguente genera l'errore 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);  
      }  
   }  
}