我已經爲小時的搜索答案,但我沒有發現任何東西...... 所以,這裏是我的問題:獲取拉姆達參數輸入到模板參數包
template<typename Signature> struct wrapper; // (1)
template<typename Ret, typename... Args>
struct wrapper<Ret(Args...)> // (2)
{
function static get(Ret(*fnc)(Args...), Args... args)
{
return function(/*some more stuff here that work*/);
}
}
基本上,這代碼提取返回類型和函數的參數並返回一個通用函數容器。此代碼使用簡單的功能。 但後來我試圖使用lambdas。 如果沒有這個包裝(通過手寫完整的原型)代碼工作,我可以調用lambda。 但是,當我用這個包裝與lambda函數,我得到一些
'./some-file.cpp:xy:z: error: incomplete type 'wrapper >' used in nested name specifier'
是由兩個點(1)和(2)因爲lambda不能放入一個函數指針錯誤? 我正在尋找一種方法來獲取lambda的參數類型到一個模板參數包(返回類型不重要,我所有的lambda不返回值(所以它是無效的)) 在此先感謝您的幫助:)
您可以發佈完整的錯誤消息? –
這是完整的錯誤信息;) – neam
你使用什麼編譯器的版本? – ildjarn