So I fixed my operator=, which fixed the rest. Here's my new function:
Node Node::operator=(Node copy)
{
this->pos.x = copy.pos.x;
this->pos.y = copy.pos.y;
this->parent = copy.parent;
this->g = copy.g;
return *this;
}
Thanks for all the help