0
Я хочу, чтобы удалить некоторые Val[i]
следующим образом:Как удалить вектор структуры, которая содержит вектор Int
struct Sstruct{
int v1;
double v2;
};
struct Sstruct2{
std::vector<int> id;
double a;
std::vector<Sstruct > b;
};
std::vector <Sstruct2> Val;
Я попробовал этот код, но я получил сообщение об ошибке, используя std::remove_if
bool TestFun(Sstruct2 id1)
{
bool result= true;
if ((id1.a< somevalue)
{
// fails
result= false;
}
return result;
}
void DelFun()
{
for (int i= 0; i< Val.size(); i++)
{
if (!TestFun(Val[i]))
{
**// here i don't now how to search for Val[i] that fails in the condition**
Val.erase(std::remove_if(Val.begin(), Val.end(),
Val[i].id.begin()), Val.end());
}
}
}
ошибка: C2064: термин не оценивает функцию, принимающую 1 аргумент
Большое спасибо, это работает. – user3823821