当我在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 ;. 代码工作正常,并做它应该做的,但我不知道如何克服这个警告。
感谢。