من می خوام تعداد اعضای یک وکتور چند بعدی رو بشمارم یک کد بازگشتی نوشتم به این شکل :
#include <iostream>
#include <utility>
#include <type_traits>
#include <vector>
#include <tuple>
template<class T>
int count(const T& vec)
{
int result=0;
for(const auto& v : vec)
{
if(std::is_same<T,decltype(v)>::value){
result +=count(v);
}
else{
result+=1;
}
}
return result;
}
int main()
{
std::vector<std::vector<int>> a(10);
a[0]=std::vector<int>(10);
std::cout<<count(a);
}
ولی ارور میده که int هیچ iterator ای نداره ( خط for(auto )
در حالیه که من چک هم می کنم اگر تابع وکتور نبود دیگه count صدا زده نشه
مشکل این کد چیه ؟