首先,如果我犯了大的英語錯誤,我很抱歉,我是法語的,但我正在努力盡我所能寫出最好的答案!好吧,我正在努力與C++ 11 variadic模板。我想做一些棘手的事情。專門針對可變模板的返回類型
事實上,我想專門化我的模板的返回類型,知道它是一個可變模板。
我的目標是要實現這樣的:
l.callFun<int>("addition", 40, 1, 1);
專業化對應於用戶想要的返回類型。它是一個Lua綁定,所以如果用戶不精確,我不能確定返回類型(顯然,默認情況下,如果沒有專門化,將返回void)。稍後,是在Lua中調用的函數的名稱。然後,這3個整數對應於我的可變參數模板。
現在,我的模板看起來像這樣:
template <typename Z, typename T, typename... U>
Z LuaScript::callFun(const std::string& name, const T& head, const U&... tail);
但現在看來,我不能做一個模板函數的偏特。有沒有人能幫助我?
非常感謝!
那麼你想寫的部分專業化是什麼?調用時可以部分指定模板參數,但這是另一回事。 –
我想要專注的是返回類型! – Theo13
我認爲你的意思是你想參數化返回類型;)。在我的回答中,我包含了一篇關於部分專業化的文章的鏈接,以防您想更多地瞭解它。 –