GCC不能正确继承模板类?

GCC编译器似乎不能理解继承自模板类里的数据成员。我还以为是代码的问题,郁闷了半天后,居然在Borland C++ 5.5下编译通过了。节省篇幅,我抽出主要部分。
template < class  T >   
class  A{  
    
protected :  
        T id;  
};  
template
< class  T >   
class  B:  public  A < T > {  
    
public :  
        
void  setid(T i){  
            id
= i;  
        }  
        
void  test1(){  
            cout
<< " B::test1() ID:  " << id << endl;  
        }  
};
B类的id本应该是从A类里继承来的,但用GCC编译会提示说变量id未定义。试着用Borland的编译器就很痛快地过了。我使用的是MinGW的 GCC 3.4,但我在Unix-Center的机器上使用Unix和Linux版本的GCC 4.0编译仍然通不过,但Solaris上的Sun Studio的C++编译器则没问题。
难道就这么幸运地碰上GCC的Bug了?

你可能感兴趣的:(GCC不能正确继承模板类?)