Új hozzászólás Aktív témák

  • amargo

    addikt

    válasz mobal #2574 üzenetére

    Két hiba is van ebben.

    a tbook-ot miért akarod itt felszabadítani? a temp-et oks. De mit akarsz itt? Mert elég kusza.. a másik nagy gond, hogy a tbook létre incs hozva.. tehát nem foglalsz neki le memória területet. tbook = temp - ezzel nem csak a tartalmukat másolod össze, de a pointerek címét is, innentől, ha az 1iken elkövetsz valamit az a másikra is kihat. Meg ez a fura kihazsnálás, hogy elsőnek az n=0 és ezért nem megy a for-ba, fura.

    void loadData(ifstream &f, int &n, tel* &tbook)
    {
    string name2, number2;
    tel* temp;
    while (!f.fail())
    {
    temp = new tel[n + 1];
    for (int i = 0; i < n; ++i)
    {
    temp.name = tbook.name;
    temp.number = tbook.number;
    }
    getline(f,name2,',');
    getline(f,number2);
    if(name2 == '''')
    continue;
    temp[n].name = name2;
    temp[n].number = number2;


    //delete[] tbook;
    tbook = temp;
    //delete[] temp;
    ++n;
    }
    cout << ''ENNEDIK'' << '' '' << tbook[n-1].name << '' '' << tbook[n-1].number << endl;
    cin.ignore();
    }

    “The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

Új hozzászólás Aktív témák