title: Dealing with ambiguous declarations in C++
body: <p><strong>In my header file I define:</strong></p>
  
  <pre><code>inline t_pair pair(int a, int b) { t_pair p; p.a = a; p.b = b; return p; }
  </code></pre>
  
  <p>But I get a compiler error "Reference to 'pair' is ambiguous".
  Apparently there is a</p>
  
  <pre><code>struct _LIBCPP_TYPE_VIS_ONLY pair
  </code></pre>
  
  <p>defined in utility.cpp, which I do not include directly.</p>
  
  <p>Is there a way to still use my pair function without renaming it?</p>