0

ネットと呼ばれる一連の 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;    
    }
}
4

2 に答える 2