class Foo {
public:
template<typename SignalType, typename ...Arguments>
void invokeQueued(SignalType<Arguments...>& signal, const detail::identity<Arguments>&... args)
{
m_threadSyncQueue.invokeQueued(signal, tag, std::forward<Arguments>(args)...);
}
}
此代码在包含的所有.cpp文件中产生大量错误,从
开始无法识别的模板声明/定义
在第一个invoke
参数中。如何使它工作?
答案 0 :(得分:3)
您应该使用模板模板参数。
template<template<typename...> class SignalType, typename... Arguments>