Ich habe vor etwa einer Woche begonnen, mir C++ beizubringen, und meine bisherigen Erfahrungen mit der Programmierung betreffen dynamische Sprachen (Python, Javascript).
Ich versuche, durch den Inhalt eines Vektors mit einer generischen Funktion zum Ausdrucken der Elemente zu iterieren:
#include <iostream>
#include <algorithm>
#include <vector>
using std::vector;
using std::cout;
template <class T>
void p(T x){
cout << x;
}
int main () {
vector<int> myV;
for(int i = 0; i < 10; i++){
myV.push_back(i);
}
vector<int>::const_iterator iter = myV.begin();
for_each(iter, myV.end(), p);
return 0;
}
Der Code lässt sich nicht kompilieren. Kann mir jemand erklären, warum?
Edit: Der Compilerfehler:
error: no matching function for call to 'for_each(_gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<const int, _gnu_norm::vector<int, std::allocator<int> > >, __gnu_debug_def::vector<int, std::allocator<int> > >&, __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<int, __gnu_norm::vector<int, std::allocator<int> > >, __gnu_debug_def::vector<int, std::allocator<int> > >, <unknown type>)'
Gracias.