c++函数内new建立的指针如何delete

class move

move move::add(const move & m)const
{
move *p = new move;
p->x =x+ m.x;
p->y =y+ m.y;
return *p;
}

move & a2 = move1.add(move2);
a2.showmove();
delete &a2;

如上,运行报错,异常。。

你试试这个:
move * a2 = move1.add(move2);
a2.showmove();
delete a2;
不能用引用,你对&的理解还不够。