title: C++ Why does 'note: see reference to class template instantiation being compiled'
body: <p>in an .hpp file, I have a template function which is member of class.</p>
  
  <pre><code>class BLog
  {
    public:
      enum { LOG_ERROR, LOG_WARN, LOG_STATUS, LOG_INFO, LOG_NOTICE, LOG_DEBUG };
  
      template &lt;typename... Args&gt;
      void appLog(int prio, const char *fmt, Args const &amp;... args);
      template &lt;typename... Args&gt;
      void appLogError(const char *fmt, Args const &amp;... args) { this-&gt;appLog(LOG_ERROR, fmt, args...);  } 
  }
  </code></pre>
  
  <p>When calling this, </p>
  
  <pre><code>int main() 
  {
      BLog myLog();
  
      myLog.appLog(BLog::LOG_ERROR, "%s message", "Test");
  }
  </code></pre>
  
  <p>I am getting the warning as </p>
  
  <blockquote>
    <p>note: see reference to function template instantiation 'void
    myLog::appLog(int,const char *,const char (&amp;)[5])' being
    compiled</p>
  </blockquote>
  
  <p>Can't figure out the proper syntax to pass arguments...</p>
  
  <p>Hope someone can help.Thanks in advance.</p>
  
  <p><strong>Rem:</strong> With the proposed answer, using Visual Studio, I always have the warning with the <code>W4</code> flag.</p>