我有以下功能;確定可變參數C++的返回類型11模板拉姆達函數
template<typename T, typename U, typename... Parameters>
void transform(void (*func)(Parameters...))
{
auto lambda_function = [func](T args, U params)
{
auto combined = std::tuple_cat(args, params);
helper(func, combined);
};
return lambda_function;
}
那我似乎無法找到一個可行的返回類型,或者方法來調用,我希望能夠都這樣稱呼它;給定'f','arg'和'param'爲;如果'f','arg'和'param'爲'0',則爲'0'。
void f(char arg1, int arg2, const char* arg3);
std::tuple<char,int> arg = std::tuple<char,int>('C',-3);
std::tuple<const char*> param = std::tuple<const char*>("PO");
任何人都有提示,甚至解決?
注意:代碼可以在; Linkage
問題:你知道「參數」和「參數」之間的區別嗎? – Xeo 2013-03-06 12:37:34
@Xeo:我知道命名不好,是的,一旦系統正常工作,它可能會改變。 – Skeen 2013-03-06 12:38:28
這不僅僅是關於命名是「壞」 - 如果你不知道它們代表什麼,你希望如何正確地實現這樣的東西?有了「參數」和「參數」的正確定義,這段代碼並沒有太多意義(閱讀:無)。 – Xeo 2013-03-06 12:40:20