[C++] Referencia - parameter vo funkcii

Programovacie jazyky, rady, poradňa...
marek788
Light Star
Light Star
Príspevky: 234
Registrovaný: 08 okt 2013, 12:40

[C++] Referencia - parameter vo funkcii

Príspevok od používateľa marek788 »

Ahojte, mam triedu v ktorej jedna z censkych funkcii ma parameter ako referenciu, a ja tu referenciu potrebujem poslat spolu s premennou z private casti triedy do dalsej funkcie, ktora uz nieje clenom triedy. Toto je moj kod

Kód: Vybrať všetko

binary& binary::operator+=(const binary &int){
        string x = convertToStr(int);
        res = sum(res, x);
        return *this;
}
Toto mi vsak vypisuje tento error

Kód: Vybrať všetko

main.cpp:179:37: error: invalid initialization of reference of type ‘std::string& {aka std::basic_string<char>&}’ from expression of type ‘const CBigInt’
     res = sum(res, input);
                                     ^
main.cpp:179:30: error: cannot convert ‘const CBigInt’ to ‘int’ for argument ‘1’ to ‘std::string converToStr(int)’
     string x = convertToStr(input);

Input, bude cislo, a kedze pracujem so stringami, kde su ulozene cisla, kovertujem to do stringu.
Neviete mi niekto pomoct, co mam zle? Dakujem voperd.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: [C++] Referencia - parameter vo funkcii

Príspevok od používateľa BX »

Tak za prvé, nemôžeš premennú pomenovať int, je to kľúčové slovo jazyka. Premenuj ju a skús to znovu. Prípadnú chybu pošli znovu.
A možno by pomohlo aj trochu viac kódu.
marek788
Light Star
Light Star
Príspevky: 234
Registrovaný: 08 okt 2013, 12:40

Re: [C++] Referencia - parameter vo funkcii

Príspevok od používateľa marek788 »

Ano, o tom inte, viem, nejak som sa zabudol, error je aktualny, len ten kod som zabudol opravit.

tu je kod coonvertToStr

Kód: Vybrať všetko

string convertToStr(int input)
{
   stringstream x;
   x<< input;
   return x.str();
}
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: [C++] Referencia - parameter vo funkcii

Príspevok od používateľa BX »

Tie errory mi nejak nedávajú zmysel. Mám z nich tiež pocit, že si ich snáď prepisoval? (prečo je tam converToStr?)
No nič, čo je to CBigInt? A čo binary? Akého typu je res? Kde a ako ju deklaruješ? Taktiež sa mi moc nepozdáva to vrátenie odkazu na this, ale to asi z únavy. A ako môžeš input typu binary hodiť do funkcie, ktorá očakáva int? Máš snáď definované pretypovanie?
Uveď presne všetko, čo tam používaš.
Napísať odpoveď