title: C++11 template definition in CPP file, undefined reference
body: <p>I'm discovering some C++11 features and have a problem.
  I have a member function 'call'</p>
  
  <pre><code>class cscript
  {
  public:
  template &lt;typename ret_t, typename... params&gt;
      bool call(ret_t &amp;ret, const char * name, params... parameters);
  ....
  </code></pre>
  
  <p>Implementation:</p>
  
  <pre><code>template &lt;typename ret_t, typename... params&gt;
  bool cscript::call(ret_t &amp;ret, const char * name, params... parameters)
  {
      ret_t (*func)(params...);
      func = (decltype(func)) tcc_get_symbol(tcc, name);
      if (!func)
          return true;
  
      ret = func(parameters...);
  
      return false;
  }
  </code></pre>
  
  <p>When linking the following error is shown:</p>
  
  <pre><code>obj\Release\main.o:main.cpp:(.text.startup+0xcc)||undefined reference to `bool cscript::call&lt;int, int, int&gt;(int&amp;, char const*, int, int)'|
  </code></pre>
  
  <p>Call example:</p>
  
  <pre><code>script.call(ret, "sum", 2, 3);
  </code></pre>
  
  <p>Any suggestions on how to make this work?</p>