title: error: 'T' is not a template
body: <p>I have got a following function with a use case:</p>
  
  <pre><code>template&lt;size_t state_dim, size_t action_dim&gt;
  class agent {
      // [...]
      /**
       * @brief get_plugin Get a pluging by name
       */
      template&lt;typename T&gt;
      inline T&lt;state_dim, action_dim&gt;* get_plugin() const {
          const string plugin = T&lt;state_dim, action_dim&gt;().name();
          for(size_t i = 0; i &lt; this-&gt;_plugins.size(); i++)
              if(this-&gt;_plugins[i].first == plugin)
                  return static_cast&lt;T&lt;state_dim, action_dim&gt;*&gt;(this-&gt;_plugins.at(i).second);
          return nullptr;
      }
      // [...]
  }
  
  // a possible usecase
  auto sepp = instance.get_plugin&lt;plugin_SEP&gt;();
  </code></pre>
  
  <p>But I get the following errors:</p>
  
  <pre><code>error: 'T' is not a template
      inline T&lt;state_dim, action_dim&gt;* get_plugin(const string&amp; plugin) const {
             ^
  
  error: 'T' is not a template
      return static_cast&lt;T&lt;state_dim, action_dim&gt;*&gt;(this-&gt;_plugins.at(i).second);
                         ^
  
  error: missing template arguments before '&gt;' token
      auto sepp = instance.get_plugin&lt;plugin_SEP&gt;();
                                                ^
  
  error: expected primary-expression before ')' token
      auto sepp = instance.get_plugin&lt;plugin_SEP&gt;();
                                                  ^
  </code></pre>
  
  <p>What am I missing here?</p>