Ler em inglês

Partilhar via


Erro do compilador CS0254

O lado direito de uma atribuição de instrução fixa pode não ser uma expressão de elenco

O lado direito de uma expressão fixa não pode usar um elenco. Para obter mais informações, consulte Código e ponteiros não seguros.

O exemplo a seguir gera 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);  
      }  
   }  
}