编译器错误 CS0213
不能使用 fixed 语句来获取已固定的表达式的地址
unsafe 方法中的局部变量或某个参数已固定(在堆栈上),因此无法在 fixed 表达式中获取这两个变量的任何一个的地址。 有关详细信息,请参阅不安全代码和指针。
下面的示例生成 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;
}
}
}