亲爱的朋友们,我很担心,如果我做不好的使用C++ 在下面的方法GCC引用诉说警告“引用局部变量‘我’回来”返回引用++方法
MatrizEsparsa& MatrizEsparsa::operator+(MatrizEsparsa& outra){
MatrizEsparsa me(outra.linhas(),outra.colunas());
return me;
}
但是,有以下变化的警告消失:
MatrizEsparsa& MatrizEsparsa::operator+(MatrizEsparsa& outra){
MatrizEsparsa me(outra.linhas(),outra.colunas());
MatrizEsparsa &ref = me;
return ref;
}
是前一种方法(返回“裁判”变量)正确\接受吗?
对我来说都不好看 – 2010-07-06 13:30:20
@Chris Card:可能是'MatrizEsparsa&'。 @Lucas:'operator +'通常应该是一个独立的函数来允许隐式类型转换。请参阅有效的C++,第24项。 – Philipp 2010-07-06 13:32:50
对问题+1,因为学习如何隐藏编译器的错误总是很有趣:D – ereOn 2010-07-06 13:39:45