初学模板, 菜菜有关问题请问,多谢!

初学模板, 菜菜问题请教,谢谢!!
简单的函数模板编译不过,
#include   <iostream>


using   namespace   std;

template   <   typename   T>
bool   compare(const   T&   a,   const   T&   b)
{
return   (a   ==   b   ?   true   :   false);
}

template   <>
bool   compare <char*> (const   char*   &   a,   const   char*   &   b)
{
if   (0   ==   strcmp(a,   b))
{
return   true;
}  
else
{
return   false;
}
}

int   main(int   argc,   char**   argv)
{

return   0;
}


error   C2912:   explicit   specialization;   'bool   compare <char*> (const   char   *&   ,const   char   *&   ) '   is   not   a   specialization   of   a   function   template


vc2003   g++4.1.2都不过

------解决方案--------------------
同学,模板特化不是这样的
------解决方案--------------------
bool compare <char*> ( char * const & a, char * const & b)
知道const char */char const */char * const3者的关系吗?