title: How to get the address of the return value of a function in C++
body: <p>Given this prototype which does a Endian conversion:</p>
  
  <pre><code>time_t Flip( time_t );
  </code></pre>
  
  <p>I would like to use the return value in a function that takes a BYTE* as an argument.
  Something like this:</p>
  
  <pre><code>SetBytesAt( 0, (BYTE*)&amp;(Flip( t )) );
  </code></pre>
  
  <p>But this does not compile.  Gives me this error "&amp; requires l-value".
  If the () are removed from around the Flip function, the same error is generated.</p>
  
  <p>Now, I know that I can just do this:</p>
  
  <pre><code>time_t temp_t = Flip( t );
  SetBytesAt( 0, (BYTE*)&amp;temp_t );
  </code></pre>
  
  <p>But it seems to me that I should be able to accomplish the same thing without the temporary temp_t variable.</p>