title: Argument list for class template "calc" is missing
body: <p>I am trying to modify the class “calc” to be more generic to accept also doubles or floats. </p>
  
  <pre><code>class calc {
  public:
      int multiply(int x, int y);
      int add(int x, int y);
  };
  
  int calc::multiply(int k1, int k2)
  {
      return k1 * k2;
  }
  
  int calc::add(int k1, int k2)
  {
      return k1 + k2;
  }
  </code></pre>
  
  <p>This is my implementation below, but I have an error E0441: argument list for class template "calc" is missing (line: calc c;).</p>
  
  <pre><code>template &lt; class T&gt;
  class calc
  {
  public:
  
      T multiply(T x, T y);
      T add (T x, T y);
  };
  
  template &lt; class T&gt;
  T calc&lt;T&gt;::multiply(T k1, T k2)
  {
      return k1 * k2;
  }
  
  template &lt; class T&gt;
  T calc&lt;T&gt;::add(T k1, T k2)
  {
      return k1 + k2;
  }
  
  int main()
  {
      calc c;
      std::cout &lt;&lt; c.multiply(1, 5);
  }
  </code></pre>
  
  <p>How do I convert the class to be a template class and function?</p>