C++ - typedef/using for function template

Dej*_*jwi 1 c++ templates c++11 c++14

我有一个以下的功能模板:

template<class A, class C, class B>
A doFoo(const B &val)
{
  //do something with C
}
Run Code Online (Sandbox Code Playgroud)

在我的cpp文件中,所有doFoo函数都将用于一种类型C.有可能做这种typedef:

typedef myDoFoo<A, B> doFoo<A, ParticularC, B>
Run Code Online (Sandbox Code Playgroud)

如果是 - 这样做的正确语法是什么?

Sla*_*ica 7

只需定义另一个模板函数:

template<class A, class B>
A myDoFoo(const B &val)
{
  return doFoo<A,ParticularC,B>( val );
}
Run Code Online (Sandbox Code Playgroud)


Jar*_*d42 6

你可以写一个函数:

template<class A, class B>
A myDoFoo(const B &val)
{
    return doFoo<A, ParticularC, B>(val);
}
Run Code Online (Sandbox Code Playgroud)