今天写程序的时候,,本来准备实现模板函数,,在函数写完后发现,,自己写的模板无法使用。

template <typename _type >
bool func(int num, char val)
{
  _type temp;
  temp[num] = val;
  return true;
}

上面是类似的一个函数,这个函数实际上没法使用。

使用类模板改写成类的静态成员:
template <typename _type >
class cfunc
{
  static bool func(int num, char val)
  {
    _type temp;
    temp[num] = val;
    return true;
   }
};

使用:
  bool ret = cfunc<type>::func(num, val);

但是感觉还是不够舒服。

posted on 2006-04-17 15:29 ykj76 阅读(172) 评论(2)  编辑 收藏 引用 所属分类: 基础知识
评论
  • # re: 函数模板的一个问题
    芋头
    Posted @ 2006-04-17 17:35
    不知道你要实现什么功能,不过你那个函数是可以使用的:

    # template <typename _type>
    # bool func(int num, char val)
    # {
    # _type temp;
    # temp[num] = val;
    # return true;
    # }
    #
    # int main()
    # {
    # func< std::map<int,int> > (0, 0);
    # func< int[5] > (0, 0);
    # return 0;
    # }  回复  更多评论   
  • # re: 函数模板的一个问题
    ykj76
    Posted @ 2006-04-17 17:43
    看上去不错:),就这样试试
    func< int[5] > (0, 0);   回复  更多评论   

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理