问题:
比如:
template< class T1, class T2 = ... >
class CA
{
...
}
能否使得T2缺省为和T1相关的函数指针?
比如,
T1 func()
{
...
}
解答:
template <typename T1, typename T2 = T1 (*)() >
备注:
如果开发平台为Sun WorkShop 6 update 2 C++ 5.3,当T2中存在内部数据类型时,有编译错误如下:
Error: Invalid template parameter default.
解决办法:
typedef bool result_type;
template< class T = result_type (*)() >
class CA
{
public:
T t;
};
int main(void)
{
return 0;
}