Вы не описали симптомы выписки для вашей проблемы, но я думаю, что это связано с тем, что не определил operator!=
Вы, вероятно, хотите определить его как
bool operator!=(const Edge&edge)const {
return !(*this == edge);
}
также, если ваш find (..., nid) принимает nid в качестве целочисленного аргумента, вам, вероятно, также необходимо перегрузить оператор == как
bool operator==(const int&edge)const {
return this->nid == edge;
}