c++ how to prevent function parameter evaluation
<p>Is it possible to prevent function parameter evaluation?
As I don't want to evaluate the function parameter in some situation.</p>

<p>E.g.
To log a debug message,</p>

<pre><code>void log(int severity, ...);
</code></pre>

<p>I want to log a message</p>

<pre><code>log(DEBUG, "%s", getErrorMsg().c_str());
</code></pre>

<p>If the severity is DEBUG, the log function is just to return in release binary.
So, it is not necessary to evaluate getErrorMsg();</p>
