关于输入运算符重载的问题!
我写了一个类:fraction 其构造函数为: fraction::fraction(char *a);
然后我又写了一个输入符重载函数,并且为类fraction的友元函数:
friend fraction& operator >>(istream os, fraction &fract); //输入运算符
函数体为:
fraction& operator >>(istream &is, char *a){
fraction f(a); return f; }
如果我将返回类型改成: istream的话就不能直接在主函数里面进行加减啦,可是这样子又不能连输入比如这样: cin>>s1>>s2;
还有就是编译器一直给我报错:
warning C4172: returning address of local variable or temporary
为什么会有这个警告啊?