【发布时间】:2018-07-25 07:27:26
【问题描述】:
假设我有一个这样的类型别名:
template <typename Arg>
using Func = std::function<void(Arg)>;
除了 Arg 为 void 的情况外,它工作正常:
Func<int> f1;
Func<void> f2; // doesn't compile
第二个给出如下编译错误:
error: invalid parameter type ‘void’using Func = std::function<void(Arg)>;
error: in declaration ‘using Func = class std::function<void(Arg)>’
如何才能为std::function<void()> 创建别名?
【问题讨论】: