2015-06-04 56 views
0

最近我被困在模板中,我通过在模板虚拟的参数,但是这是行不通的,在这里给出编译错误是我的代码..通过虚拟INT INT模板参数

#include <iostream> 
using namespace std; 
template<typename T> 
class A{ 
    private: 
     T b; 
    public: 
     A() 
     { 
      cout<<"1st is executing "<<endl; 
     } 
}; 
template<typename T,int> 
class A{ 
    private: 
     T b; 
    public: 
     A(){ 
      cout<<"2nd is executing "<<endl; 
     } 
}; 
int main(){ 
    A<string> a; 
    A<string,100> b; 
} 

在我的角度来看,这应该能正常运行,但它给重新申报错误,我dn't知道为什么..... plz帮助THANKS

回答

0

我不能完全肯定,但我认为它template <typename T = int>

+0

那是由数据类型即int或char替换的默认参数,但在我的情况下它将被c替换如果它是int,那么它的值就是10 –

相关问题