Compartir a través de


Error del compilador CS0213

Actualización: noviembre 2007

Mensaje de error

No se puede utilizar la instrucción fixed para adquirir la dirección de una expresión de tipo fixed
You cannot use the fixed statement to take the address of an already fixed expression

Una variable local en un método unsafe o en un parámetro ya está fija (en la pila), por lo que no se puede obtener la dirección de ninguna de esas dos variables en una expresión fixed. Para obtener más información, vea Código no seguro y punteros (Guía de programación de C#).

Ejemplo

El código siguiente genera el error CS0213.

// CS0213.cs
// compile with: /unsafe
public class MyClass
{
   unsafe public static void Main()
   {
      int i = 45;
      fixed (int *j = &i) { }  // CS0213
      // try the following line instead
      // int* j = &i;

      int[] a = new int[] {1,2,3};
      fixed (int *b = a)
      {
         fixed (int *c = b) { }  // CS0213
         // try the following line instead
         // int *c = b;
      }
   }
}