这是部分模板专业化.
template<typename T> class function;
template<typename Ret> class function<Ret()> { ... };
template<typename Ret, typename Arg1> class function<Ret(Arg1)> { ... };
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,这将很快变旧,但可变参数模板将在C++ 0x中处理它.