我看过部分模板专用化参数列表,偶然发现了这样的例子
template <typename>
class function;
template <typename ReturnValue, typename Args,typename Args2>
class function<ReturnValue(Args,Args2)>
{
//smth
};
ReturnValue(Args,Args2)
到底是什么意思(因为它不是我所知道的类型),并且根据什么规则我可以写类似的东西?
谢谢
答案 0 :(得分:4)
请问这不是我所知道的类型
实际上是。 ReturnValue(Args,Args2)
的类型为“取Args
和Arg2
并返回ReturnValue
的函数”。举个例子:
void foo(int, char);
typedef void FunctionType(int, char);
在这里,FunctionType
确实是类型void(int, char)
,也是foo
的类型。