首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C++自动检测模板参数?

C++自动检测模板参数?
EN

Stack Overflow用户
提问于 2011-06-15 22:45:09
回答 2查看 7.2K关注 0票数 17

我正在尝试定义一个像任务农场一样的递归结构。在这里,我正在尝试两个操作数,它们可以递归地工作于任意数量的操作数,因为它可以嵌套自己。

template <typename T1, typename T2>
class Farm
{
  private:
    T1 *task1;
    T2 *task2;
  public:
    // save them so that I can use them when invoking call operator
    Farm(T1 *_t1, T2 *_t2): task1(_t1), task2(_t2) { }

    void operator()()
    {
      // invoke call operator, meaning a farm could be a task (arbitrary nesting)
      (*task1)();
      (*task2)();
    }
};
int main()
{
    ... create two pointer(A *a, B *b...)
    Farm(a,b); // error: missing template arguments before ‘(’ token

    Farm<A, B>(a,b); // in this works, it works
}

问题在于模板参数的自动检测,在这种情况下不起作用。我做错了什么,我怎样才能实现这个模板参数的隐式检测,通过gcc编译器。

谢谢!

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6359592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档