我正在尝试对std::function
类型进行别名,因为我计划将来再使用其他类型。我希望能够轻松进行更改。但是我从编译器中收到了一个我不太了解的错误消息。我理解这意味着什么,但在这种情况下我不理解。
例子:
#include <functional>
template < typename Ret, typename... Args > using MyFunc = std::function< Ret(Args...) >;
int main(int argc, char **argv)
{
MyFunc<void(int)> fn;
return 0;
}
产生:
..\main.cpp|7|required from here|
..\main.cpp|3|error: function returning a function|
template <typename F>
using MyFunc = std::function<F>;
void(int)
是单个(函数)类型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句