偏特化的一种奇怪现象

首先定义一个模板类

tamplate <typename T>

class A

{

  void foo() {}

  voif bar(){}

} ;

下面是一个偏特化版本

 tamplate <>

class A <int>

{

  void foo() {}

} ;

 

然后如果我们这么调用,就会失败

A <int>  a;

a.bar()

编译器会说bar没有实现

 

 而如果 我们这么实现片特化

typedef  class A <int> AInt;

void AInt::foo(){}

 

如上调用的时候,却没有问题

 

测试是在vc7.1版本

 

posted on 2009-04-26 13:03  cutepig  阅读(260)  评论(0编辑  收藏  举报

导航