Спасибо всем, теперь он работает, используя (это! = * Child), как вы все предложили.
sual Studio этот фрагмент кода работает, и это очарование:
auto child = node.childs.begin();
while (child != node.childs.end()) {
vector<int> siblings;
for (auto it : node.childs){
if (it != *child._Ptr)siblings.push_back( it );
}
if (CheckSomething( tree, *child._Ptr, siblings ) > 0) {
//delete that child
child = node.childs.erase( child );
}
else ++child;
}
но с тем же кодом на XCode я получил ошибки, как _Ptr не существует? это не та же библиотека STD с теми же структурами? почему это случилось?
File.cpp:1745:22: No member named '_Ptr' in 'std::__1::__wrap_iter<int *>'
заранее спасибо