Keresés

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

  • ArchElf

    addikt

    válasz h1ght3chzor #1545 üzenetére

    Szerintem még lehet memóriaszivárgás, mert az itt generált elemeket:
    this->temp = new Project [pm+1];
    nem szabadítod fel, hanem egyszerűen a hivatkozáést felülcsapod ezzel:
    for(i=0;i<pm;++i){ this->temp[i]=tomb[i];}
    Ezen elméláztam este, de nem tudtam működő megoldást találni elemszintű cserére. Nem vagyok sajna c++ terén ennyire jártas...

    Ja és még egy probléma: ha referencia alapján tárolod le (nem másolod), akkor a kód mindig (fizikailag) ugyanazt a változót teszi be a memóriába:
    if(menu=='1'){
    system("CLS");
    char projektnev[200];
    int projektmeret;
    cout << "Adja meg a projekt nevet: ";
    cin >> projektnev;
    cout << endl;
    cout << "Adja meg a projekt memoriameretet: ";
    cin >> projektmeret;
    if(projektmeret<=0){
    cout << endl;
    cout <<"Hibas memoriameretet adott meg!"<< endl;;
    cout << "Adja meg a projekt memoriameretet: ";
    cin >> projektmeret;
    }

    b.psetname(projektnev);
    b.setmeret(projektmeret);
    a.phozzaad(b);

    }

    Így tényleg a legjobbnak tűnik egy a másoló operátort felülírni (operator=) és nincs több gond...

    AE

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