title: C++: passing address of int as parameter
body: <p>Why is "Void" actually returning "6" ?</p>
  
  <pre><code>void Void (int &amp;ref){
      ref++;
  }
  
  int main () {
  
      int test= 5;
      Void(test);
      cout &lt;&lt; test;  // is 6      
  
      return 0;
  }
  </code></pre>
  
  <p>I don't quite understand what's happening here. With Void(test) I'm not passing test's address. 
  Why not "Void(&amp;test);"?
  Why is ref++ adding 1 to the value 5? Shouldn't it be "*ref++"?</p>