关于模版的偏特化
/*template <class T,class O>
struct testclass
{
testclass(){cout<<"T,O"<<endl;}
};*/
template <class T>
struct testclass<const T*,T*>
{
testclass(){cout<<"const T*,T*"<<endl;}
};
void main()
{
testclass<int*,int*> aa;
}
这样编译不过的,但是将注释打开,就可以通过,一直对偏特化不是很清楚,望高手指导
[解决办法]
还是先看看你手头的教材吧。
[解决办法]
没“正”,何来“偏”?
偏特化之前,必须有主模板……
#include <iostream>#include <string>using namespace std;template <class T,class O>struct testclass { testclass() { cout <<"T,O" <<endl; }};template <class T>struct testclass <const T*,T*> { testclass() { cout <<"const T*,T*" <<endl; }};int main(){ testclass <int*,int*> aa; testclass <const int*,int*> bb;}