現在我想寫一個可以實例化類的通用模板,當然這些類可能沒有或多個參數。所以模板必須有可變參數。任何人都可以幫助我?如何構造類的構造函數可能有多個參數或模板中沒有?
爲了更好地讓自己的理解,請參閱follwong簡單的代碼片段,我不知道如何使它發揮作用:
class Print
{
public:
Print(const char* param, const char* param2)
: m_str1(param)
, m_str2(param2)
{}
void outPut()
{
std::cout << m_str1 << "\t" << m_str2 << std::endl;
}
private:
std::string m_str1;
std::string m_str2;
};
template<typename ... Ts>
struct adapter
{
static void invoke()
{
C t((Ts::value)...); // make a instance on the fly
}
};
更新: 當我嘗試寫這樣的代碼,它不會編譯:
adapter<const char*, const char*>;
你看到什麼問題? – 2014-09-01 03:06:23
@VaughnCato,看到我的更新 – Triumphant 2014-09-01 03:10:17
看起來你正在試圖創建一個'Ts'類型的任意實例,但我懷疑你想要真正的值。如果'Ts'是'const char *',你想要字符串值是什麼?有一個更完整的問題示例(使用主數據庫)可能會使您更清楚您要做什麼。 – 2014-09-01 03:13:57