更新:2007 年 11 月

错误消息

不能使用固定语句来获取已固定的表达式的地址

unsafe 方法中的局部变量或某个参数已固定(在堆栈上),因此无法在 fixed 表达式中获取这两个变量的任何一个的地址。有关更多信息,请参见不安全代码和指针(C# 编程指南)

示例

下面的示例生成 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;
      }
   }
}