如果直接传入一个变量,它工作得很好,但是当我使用一个只返回变量的函数时,它就停止工作了。为什么会这样?
struct Edge {
Point ap() const { return set[a]; }
Point *set;
int a;
}
function f(Point &p) {}
Edge e;
f(e.ap()); // Error: No matching function call to 'f'
f(e.set[e.a]); // Works fine
Point p = e.ap();
f(p); // Works fine