title: Passing the string value instead of const string literal to macro with stringizing operator
body: <p>I want to pass string value into some macro called <code>TEST_FAIL</code>. I tried following code </p>
  
  <pre><code>string error = "myError";
  TEST_FAIL(error.c_str());
  TEST_FAIL("myError");
  </code></pre>
  
  <p>but the output of this is </p>
  
  <pre><code>error.c_str()
  "myError"
  </code></pre>
  
  <p>How can I get in the first line value of string <code>error</code>, i.e <code>"myError"</code> in both lines? </p>
  
  <p>I use macro from the library which is define like this</p>
  
  <pre><code>#define TEST_FAIL(msg) \
  {                                                               \
      assertment(::Test::Source(__FILE__, __LINE__, (msg) != 0 ? #msg : "")); \
      if (!continue_after_failure()) return;                      \
  }
  </code></pre>