title: Template class with a non template base class
body: <p>I would like to know the exact compiler behavior that produces this error. </p>
  
  <p>Have a look at this code.</p>
  
  <pre><code>class Base_class
  {
  public:
    Base_class();
  };
  
  Base_class::Base_class()
  {
    //Here it says multiple definitions (If I define the contructor outside)
    //If I define this inside class no error 
    //Or if I make the base class templated no error
    //Also if this is in .cpp it works.
  }
  
  template&lt;typename T&gt;
  class Temp_derived_class:Base_class
  {
  public:
    Temp_derived_class();
  
    int *i;
  };
  
  template&lt;typename T&gt;
  Temp_derived_class&lt;T&gt;::Temp_derived_class()
  {
    i = new int[5];
  }
  </code></pre>
  
  <p>Here it says multiple definitions (If I define the contructor outside)
  If I define this inside class no error 
  Or if I make the base class templated no error
  Also if this is in .cpp it works.</p>
  
  <p>Cheers,
  CB</p>