Ciao a tutti :)
ho voluto provare a creare un programma che mi outputtasse la lunghezza di un vettore avendo come imput il vettore stesso. Praticamente ricreare la funzione size() senza però utilizzarla.
Questo è ciò che ho provato a scrivere:
#include <iostream>
#include <vector>
// lenght vector
//POST: returns the lenght of myvector
int lenght_vector (std::vector<int> myvector) {
int lenght = 0;
for (int i = 0; myvector.at(i) > 0; ++i) {
++lenght;
}
return lenght;
}
int main() {
std::vector<int> myvector;
std::cout << "the lenght of this vector is" << lenght_vector(myvector);
return 0;
}
il codice viene compilato ma purtroppo quando premo su “run” mi esce questo messaggio:
terminate called after throwing an instance of 'std::out_of_range'
what(): vector::_M_range_check
Aborted
Qualcuno mi sa spiegare che significa e cosa sbaglio?
grazie mille e una splendida giornata!