inheriting a class from a partial specialization of a template class
<p>I have a templated class named check and its partial specialization, now i am publically inheriting a class named childcheck from the partial specialization of the class check. but compiler gives following error message<br>
<strong>no matching function for call to `check::check()' <br>
candidates are: check::check(const check&amp;) <br>
check::check(t*) [with t = int*]</strong> 
<br>look at the code and explain the reason please<br></p>

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



//partial specialization
template&lt;class t&gt;
class check&lt;t*&gt;
{
t* object;
public:
check(t*);
};
template&lt;class t&gt;
check&lt;t*&gt;::check&lt;t*&gt;(t* element)
{
cout&lt;&lt;"partial specialization constructor"&lt;&lt;endl;
}



//childcheck class which is derived from the partial specialization
template&lt;class t&gt;
class childcheck:public check&lt;t*&gt;//inheriting from the partial specialization
{
t object;
public:
childcheck(t);
};
template&lt;class t&gt;
childcheck&lt;t&gt;::childcheck&lt;t&gt;(t element):check&lt;t&gt;(element)
{
cout&lt;&lt;"child class constructor"&lt;&lt;endl;
}



main()
{
int x=2;
int*ptr=&amp;x;
childcheck&lt;int*&gt;object(ptr);
cout&lt;&lt;endl;
system("pause");
}
</code></pre>
