struct user
{
vector<size_t> follower;
vector<size_t> following;
};
int main ()
{
vector< user > node ( 100 );
// Pushing back some indices of other nodes in some node[x].follower and node[x].following
size_t i = 2;
for ( size_t const& j : node[i].follower )
node[j].following.erase( remove( node[j].following.begin(), node[j].following.end(), i ), node[j].following.end() );
}
C++ で を作成し、 に属する他のユーザーへのstruct userベクトルfollowerとストア インデックスを作成しました。最後のループで、他のユーザーのおよびからすべてのインデックス(特定の を参照する)を破棄したいと思います。残念ながら、C++11 を使用すると、次のエラーが発生します。followingvector nodeforiuser ivector followerfollowinggcc/4.7.2
error: cannot convert 'std::vector<long unsigned int>::iterator {aka __gnu_cxx::__normal_iterator<long unsigned int*, std::vector<long unsigned int> >}' to 'const char*' for argument '1' to 'int remove(const char*)'
ループのコードで使用してfor、イテレータのループでも試しましたが、それでも同様のエラーが発生します。for ( vector<size_t>::iterator it = node[i].follower.begin(); it != node[i].follower.end(); ++it )*it
どうすればいいのかわからない。