Vector/ Container



  • Hi mein Container funzt igw nicht. Er erweitert sich nicht von alleine. Nur bis zur vorgegebenen Startgröße ist es möglich ihn mit Daten zu füttern
    #include <iostream>
    #include <cmath>
    #include <string>
    #include<vector>
    using namespace std;
    int it = 1;

    int main()
    {
    vector<long long> test(20);
    cout << "\t Nun berechnen wir die ersten 32 Potenzen von 2. :)" << endl << endl;
    do
    {

    	test[it] = pow(2, it);
    	cout << test[it] << endl << endl;
    	++it;
    } while (it <= 32);
    
    return 0;
    

    }

    das ist der Code wenn ich über 20 Einträge in meinen Container komme, dann kommt:
    vector subscript out of range



  • Das liegt daran daß ein std::vector<> nicht automagisch wächst nur weil Du auf Elemente zugreifst die es nicht gibt. Verwende std::vector<>::resize() um die Größe zu ändern oder std::vector<>::emplace_back() oder std::vector<>::push_back() um Elemente am Ende anzufügen.

    https://de.cppreference.com/w/cpp/container/vector


Anmelden zum Antworten