template <typename A, typename B>
vector<typename A::iterator> policz(A& s, B znak)
{
vector<typename A::iterator> wek;
for (auto p = s.begin(); p < s.end(); p++)
if (*p == znak) wek.push_back(p);
return wek;
};
Dlaczego parametrem wektora musi być typename A::iterator
a nie po prostu A::iterator
? Kompilator zgłasza, że A::iterator
to nie jest poprawna nazwa typu.