親愛的朋友們,我很擔心,如果我做不好的使用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