#include<tuple>
template<int N,typename... Vs,typename... Ts>
void fog(const std::tuple<Vs...>& vs , const std::tuple<Ts...> & ts)
{
}
template<typename...Vs,typename...Ts >
int gof(const std::tuple<Vs...>& vs , const std::tuple<Ts...> & ts)
{
fog<0,Vs...,Ts...>(vs,ts);
}
int main()
{
std::tuple<int,double> t;
gof(t,t);
}
爲什麼編譯器(G ++ - 4.6)找不到fog
功能和如何使它找到它?
error: no matching function for call to ‘fog(const std::tuple<int, double>&, const std::tuple<int, double>&)’
note: candidate is:
note: template<int N, class ... Vs, class ... Ts> void fog(const std::tuple<Vs ...>&, const std::tuple<_Tail ...>&)
是的,我需要積分模板參數N
。 (這是一個歸結例子。)
謝謝你的(正確的)答案。 @mfontanini幾秒更快。我沒有其他標準 – ritter 2012-08-06 16:09:53