JAG BLIR GAALEN!
Jag har suttit och påtat med en operator till en klass mpint. Den ser ut så här:
const mpint &operator-(const mpint &a)
/* Unary negative operator, friend of class mpint. */
{
mpint ans(a);
ans.sign = -ans.sign;
return ans;
}
Problemet är att när jag returnerar ans så slutar objektet att existera och därför blir det fel. Men hur i #/(€=\}! ska jag kunna komma runt problemet snyggt?
HJÄLP!
Lokalt objekt i C++
fast pekaren kommer ju peka på stacken, som med stor sannolikhet kommer att ändras.
Ja vet nu inte exakt vad din mpint klass gör, men är det inte möjligt att få en pekare som parameter? Då är det bara att ändra utan att returnera något?
Om nu detta är helt jättefel kan du väl allokera det du skapar och ret den pekaren. Frågan är hur du gör sen för att frigöra minnet igen?
Ja vet nu inte exakt vad din mpint klass gör, men är det inte möjligt att få en pekare som parameter? Då är det bara att ändra utan att returnera något?
Om nu detta är helt jättefel kan du väl allokera det du skapar och ret den pekaren. Frågan är hur du gör sen för att frigöra minnet igen?