ネットと呼ばれる一連の int があります。これを繰り返し処理して、既存のセットに追加された int または from の int のいずれかが追加されているかどうかを判断します。もしそうなら、私はそれらを既存のセットに追加します (これは、電気ネットワーク上のショートのすべての組み合わせを追跡するためです)。
ただし、 set::insert 関数を機能させることはできません! (*it).count を使用して、いずれかの int が既にセットに追加されているかどうかを判断できますが、 (*it).insert は機能しません (常に No matching member function call to というエラーが表示されます) '入れる')。ただし、int のセットを作成するだけであれば、setName.insert(to) は正常に機能します。
コードの何が問題になっていますか?
for (std::set<std::set<int>>::iterator it=nets.begin(); it!=nets.end(); ++it) {
if ((*it).count(to) || (*it).count(from)) {
currentSet = (*it);
(*it).insert(to);
(*it).insert(from);
addedToExistingSet = true;
}
}