1
template<typename FirstArgT, typename...ArgsT>
class Server :public Server<ArgsT...> {
public:
Server(const function<void (FirstArgT, ArgsT...)>& func)
:Server<ArgsT...>([&](ArgsT args...) -> void { func(arg0, args...); }) { }
private:
FirstArgT arg0;
}
但是编译器说:如何使用可变参数参数拉姆达从可变参数模板类
错误C3520“ArgsT”:参数包必须在这方面
错误C3546”扩大... “:存在可用于扩大
在线路4和5
没有参数包是否有可能使用可变参数作为参数的λ的参数是VS2015,或我有没有其他方法可以做到这一点?
'ArgsT ... args'不'ArgsT ARGS ...' –
[OT]:我不能告诉你实际上在做什么,但捕捉'引用func'可能是一个坏主意 –
我想用C++ 11的功能 – AlexWang