我有一個函數來規範Vec2D。我收到了C4172和C4239錯誤。我明白我不應該返回局部變量,但是我不明白我應該返回什麼。我應該讓它成爲一個指針嗎?
方法:C4172和C4239返回本地變量
inline Vec2D& normalize()const {
double l = length();
if (x == 0) {
if (y == 0) {
return Vec2D(0, 0);
}
else {
return Vec2D(0, y/l);
}
}
else if (y == 0) {
return Vec2D(x/l, 0);
}
return Vec2D(x/l, y/l);
}
任何理由通過引用('Vec2D&')not value('Vec2D')返回? –
誰說不返回本地變量(按值)? – jalf