Partager via


Erreur du compilateur CS0213

Mise à jour : novembre 2007

Message d'erreur

Vous ne pouvez pas utiliser l'instruction fixed pour prendre l'adresse d'une expression qui est déjà fixed
You cannot use the fixed statement to take the address of an already fixed expression

Une variable locale dans une méthode unsafe ou un paramètre est déjà fixe (sur la pile), vous ne pouvez donc pas prendre l'adresse de ces variables dans une expression fixed. Pour plus d'informations, consultez Pointeurs et code unsafe (Guide de programmation C#).

Exemple

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