title: Macro to make std::pair with fixed types
body: <p>I'm trying to do something like this:</p>
  
  <pre><code>#define SOME_PAIR(x, y) std::make_pair&lt;bool, std::string&gt;(x, y)
  </code></pre>
  
  <p>So that what the programmer has to write is simply:</p>
  
  <pre><code>return SOME_PAIR(true, "Amazing");
  </code></pre>
  
  <p>But it looks like i'm doing something wrong, as '<strong>no instance of function template "std::make_pair" matches the argument list</strong>'.</p>
  
  <p>What can i do to make this (or something similar to this) work?</p>
  
  <p>Compiler: <strong>VC110</strong>
  IDE: <strong>VS2012</strong>
  OS: <strong>Win7x64</strong></p>
  
  <p><strong>EDIT</strong>: The following code(thanks to <strong>jxh</strong>) makes it work perfectly:</p>
  
  <pre><code>#define SOME_PAIR(x, y) std::make_pair(bool(x), std::string(y))
  </code></pre>
  
  <p>And thus my lamda function ends up being really neat:</p>
  
  <pre><code>boot.init("log", [&amp;](){
      return INIT_PAIR(log.loaded, "Could not open log config file");
  });
  </code></pre>