template<size_t N>void change(bitset<N> &bs){
bs.set(1);
}
int main()
{
bitset<10> bs1(10);
bitset<9>bs2(20);
change(bs1);
change(bs2);
system("pause");
return 0;
}
只能用模板实现bitset的传参
但是如果是普通类的模板函数,则模板函数的函数体必须放在.h文件中,不能分开编译
得这样写
template <class T>
class A
{
public:
void func(T &tmp);
};
template <class T>
void A <T> ::func(T &tmp)
{
cout < <tmp < <endl;
};