title: How to determine caller function, file and line of a class constructor?
body: <p>How?</p>
  
  <p>I tried:</p>
  
  <pre><code>#define Some(p1, p2) _Some(p1, p2, __FILE__, __func__, __LINE__)
  Some _Some(int p1, int p2, const char* file, const char* func, int line) { ... }
  </code></pre>
  
  <p>but:</p>
  
  <pre><code>some.hpp:16:12: error: macro "Some" requires 3 arguments, but only 1 given
       ~Some();
              ^
  some.hpp:16:5: error: invalid use of destructor ‘~Some’ as a type
       ~Some();
       ^
  </code></pre>