Lire en anglais

Partager via


Erreur du compilateur CS0254

La partie droite d'une assignation d'instruction fixed peut ne pas être une expression de cast

La partie droite d’une expression fixed ne peut pas utiliser un cast. Pour plus d’informations, consultez Pointeurs et code unsafe.

L’exemple suivant génère l’erreur 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);  
      }  
   }  
}