Ошибка В Коде

13.05.2013
5
0
#1
ошибка где-то в этих строчках
C++:
не компилирует. пишет: 
In function `rational& operator+(rational&, rational&)': 
[Warning] reference to local variable `r' returned
Permission denied 
ld returned 1 exit status 

rational& operator +(rational& z, rational& s)
{rational r;
r.a=z.a*s.b+z.b*s.a;
r.b=z.b*s.b;
return r;	  
}