Hirdetés

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

  • ALI_G

    veterán

    üdv.
    deklarácio:
    friend std::ostream& operator<<(std::ostream &os, const Csillag &cs);

    std::ostream& operator<<(std::ostream &os, const Csillag &cs) {
    os << "A csillag neve: " << cs.name << ", merete: " << cs.m << ", sugara " << cs.r << ", fenyessege " << cs.f;
    return os;
    }

    ebben a c++ részletben mi a probléma? A return os; elvileg referencia szerint kellene vissza adódnia, de error-t dob Visual studio, eléggé értelmetlent :)
    Annyira még nem érzem ezeket a cpp-s referenciákat...

    A másik meg, hogy:

    Csillag& Csillag::operator+(Csillag &cs) {
    double kcs_m = m + cs.m;
    double kcs_r = sqrt(r * cs.r);
    double kcs_f = (f + cs.f) / 2;
    Csillag *kcs1 = new Csillag( kcs_m, kcs_r, kcs_f, name, true );
    cs.~Csillag();
    Csillag::~Csillag();
    return *kcs1; //referencia szerinti atadas!
    }

    ebben a return *kcs1 helyett eredetileg simán return kcs1; szerepelt, de úgy error volt :( A VS javaslatára "dereferáltam", így nem dob hibát, de itt is referencia szerint akarom visszaadni, de ahogy én tudom (pointer dereferencia nélkül) úgy hibás :(

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