title: Printing a pair out as a string
body: <p>I am trying to print out a string from a const pair I declared</p>
  
  <pre><code>using Collatz = pair&lt;long, vector&lt;long&gt; &gt;;
  </code></pre>
  
  <p>However, in this function, it allows me to print the first value with no problems. When I want to print the second value, it makes me add the &amp; symbol to it which then prints out the address. How do I get around this so I can print out the actual value. </p>
  
  <pre><code>string Collatz_to_string(const Collatz &amp;p) {
  ostringstream oss;
  oss &lt;&lt; p.first &lt;&lt; "," &lt;&lt; p.second;
  return oss.str();
  }
  </code></pre>
  
  <blockquote>
    <p>Candidate function not viable: no known conversion from 'const std::__1::vector >' to 'const void *' for 1st argument; take the address of the argument with &amp;</p>
  </blockquote>