templates and inheritance issue!
<p>I have a tempated base class check and publically derived class childcheck. the base class also have a partial specializatin but i inherit the childcheck class from the general templated class( not from the partial specialization of the class check). when i call the constructor of the base class from the initialization list of the derived class, compiler gives error, now if i remove the partial specialization of class check then compiler gives no error, so here is the code 
<br></p>

<pre><code>#include&lt;iostream.h&gt;
template&lt;class t&gt;
class check
{
t object;
public:
check(t element);
};
template&lt;class t&gt;
check&lt;t&gt;::check&lt;t&gt;(t element)
{
cout&lt;&lt;"base class constructor"&lt;&lt;endl;
}



//partial specialization 
template&lt;class t&gt;
class check&lt;t*&gt;
{
int objectsize;
t* object;
public:
check(t*,int);
t* getelement()const;
~check();
};
template&lt;typename t&gt;
check&lt;t*&gt;::check&lt;t*&gt;(t* ptr,int size)
{
cout&lt;&lt;"\n partial specialization constructor";
}




//derived class
template&lt; class t&gt;
class childcheck:public check&lt;t&gt;
{
t chobject;
public:
childcheck(t);
t getobject()const;
};
template&lt;class t&gt;
childcheck&lt;t&gt;::childcheck(t element):check&lt;t&gt;(element+1)
{
cout&lt;&lt;"derived class constructro"&lt;&lt;endl;
}



//and this is the main function
main()
{
int* ptr;
int x=2;
ptr=&amp;x;
childcheck&lt;int*&gt; object(ptr);
system("pause");
}
</code></pre>
