title: What is this NSErrorPointer type?
body: <ol>
  <li><p>In Swift the ampersand sign <code>&amp;</code> is for <code>inout</code> parameters. Like </p>
  
  <blockquote>
    <p>var value = 3</p>
    
    <p>func inoutfunc(inout onlyPara: Int) {</p>
    
    <p>onlyPara++</p>
    
    <p>}</p>
    
    <p>inoutfunc(&amp;value) // value is now 4</p>
  </blockquote>
  
  <p>That doesn't look like <code>onlyPara</code> is a pointer, maybe it is and get dereferences immediately when using it inside the function.
  <strong>Is onlyPara a pointer?</strong></p></li>
  <li><p>When I don't need a <code>IntPointer</code> type, <strong>why are the framework methods using a <code>NSErrorPointer</code> type?</strong> Because they can't change the methods because of existing Objective-C code?</p></li>
  <li><p>But <strong>why is then Swift converting <code>&amp;error</code> to <code>NSErrorPointer</code></strong>, is that autoboxed?</p>
  
  <blockquote>
    <p>var errorPtr: NSErrorPointer = &amp;error</p>
  </blockquote></li>
  <li><p>And when I have a <code>NSErrorPointer</code>. <strong>How do I dereference it?</strong></p>
  
  <blockquote>
    <p>var error: NSError = *errorPtr // won't work</p>
  </blockquote></li>
  </ol>
  
  <hr>
  
  <p>Maybe someone can enlighten me. Using only Swift is easy. I think the questions are one chunk of knowledge over <code>&amp;</code> between swift and Objective-C (as the address of operator)</p>