1.类模板的 声明 和 实现要定义在同一个文件中(最好在 hpp中)。否则 ,因为实现(.cpp)文件是没法独立生成obj文件的。
2.类模板只能用显式的方式声明一个类模板。如
template<typename _Fn1>
class bind_test
{
public:
void Start(_Fn1 _fun);
void CallBack();
private:
_Fn1 fun;
};
template<
typename _Fn1>
void bind_test<_Fn1>::Start(_Fn1 _fun){
fun = _fun;
callback();
}
template<
typename _Fn1>
void bind_test<_Fn1>::CallBack(){
fun;
}
在使用该类是只能如下使用:
bind_test<
int> obj;
obj.Start(10);