Compiler Error CS0211

Cannot take the address of the given expression

You can take the address of fields, local variables, and indirection of pointers, but you cannot take, for example, the address of the sum of two local variables. For more information, see Unsafe Code and Pointers.

The following sample generates CS0211:

// CS0211.cs  
// compile with: /unsafe  
  
public class MyClass  
{  
   unsafe public void M()  
   {  
      int a = 0, b = 0;  
      int *i = &(a + b);   // CS0211, the addition of two local variables  
      // try the following line instead  
      // int *i = &a;  
   }  
  
   public static void Main()  
   {  
   }  
}