如何删除警告"本地变量' tmp'返回"关于运算符重载?

时间:2015-01-09 12:54:43

标签: android c++ android-ndk g++

当我在Android(Tegra NDK编译器)或Linux(g ++)中编译我的解决方案时,我在GRPPOINT运算符重载时收到此警告。但是,我没有在Visual Studio(cl)上得到它。

  ../../../Gen/Graphic/GRPPoint.h: In member function 'GRPPOINT& GRPPOINT::operator/(GLFLOAT)':
D:\Projects\Gen\Graphic\GRPPoint.h(86,22): warning : reference to local variable 'tmp' returned [-Wreturn-local-addr]
               GRPPOINT tmp;

代码是类GRPPOINT的运算符重载:

GRPPOINT& operator / (GLFLOAT scalar)
{
GRPPOINT tmp;
tmp.x   =   this->x /scalar;
tmp.y   =   this->y /scalar;
tmp.z   =   this->z /scalar;
return tmp;
}

似乎不允许通过引用对象tmp进行复制。 我可能会混淆使用&amp ;. 代码工作正常,并做它应该做的,但我不知道如何克服这个警告。

感谢。

0 个答案:

没有答案