我有一個類模板,我似乎無法弄清楚如何執行Variadic模板樣式實例化。VS2010 C++ variadic模板示例
這裏是「代碼」到目前爲止,什麼我在尋找:
template<typename _Classname, typename... Args>
class CFunctorStartExT
{
friend class CXXFactory;
protected:
template<typename U>
CFunctorStartExT(typename U& _functor, Args&... args) :
m_Functor(_functor),
m_args(args)
{
}
virtual bool ProcessLoop(CSomeClass* pThread)
{
return m_Functor(pThread, m_args);
}
protected:
_Classname& m_Functor;
Args... m_args;
};
顯然,這將不能編譯:)。這個想法是創建一個類,它可以存儲在構造函數中傳入的值(如果有的話...它可能只有_Classname/U定義),以便稍後可以將其返回到另一個函數中的m_Functor。
第一:可以在VS2010中完成Variadic模板嗎?我得到的編譯問題只是模板聲明error C2143: syntax error : missing ',' before '...'
從行template<typename _Classname, typename... Args>
其次,我可以嘗試完成什麼?謝謝!
以`_Classname`之類的大寫字母后跟大寫字母開頭的名稱被保留,您不應在程序中使用它們。 – 2011-01-21 21:06:38
哦..保留給什麼/誰?我一直試圖改變我的命名約定..(從m_,g_等改變) – BabelFish 2011-01-21 21:09:15
請參閱[this](http://stackoverflow.com/questions/228783/what-are-the-rules-about-using -an下劃線-在-AC-標識符)。 – GManNickG 2011-01-21 21:45:43