模板方法,其中一个类型本身就是一个模板类

时间:2014-12-23 11:25:41

标签: c++ templates

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参数中。如何使它工作?

1 个答案:

答案 0 :(得分:3)

您应该使用模板模板参数。

template<template<typename...> class SignalType, typename... Arguments>