2014-12-23 28 views
0
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參數。如何使它工作?

回答

3

您應該使用模板模板參數。

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

從來沒有見過這種語法。謝謝。 –

相關問題