title: using unary & operator on function return value
body: <p>I've wanted to apply unary '&amp;' operator just behind function to operate on function return value. However, I get a compile-time error (I use gcc from MinGW)</p>
  <blockquote>
  <p>test.c: In function 'main':</p>
  <p>test.c:8:12: error: lvalue required as unary '&amp;' operand</p>
  </blockquote>
  <p>I made a code to make my question easier to understand:</p>
  <pre><code>int function();
  void function2(int *param);
  
  main()
  {
      function2(&amp;function1());
  }
  
  int function1()
  {
      return 10;
  }
  
  void function2(int *param)
  {
      return;
  }
  </code></pre>
  <p>This code creates same compile-time error.</p>
  <p>The question is:
  How I can use the '&amp;' operator just from function2 &quot;()&quot;, without other code elsewhere?</p>