Ошибка компилятора 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;
}
}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: