C++ 如何删除包含int向量的结构的向量
我想删除一些C++ 如何删除包含int向量的结构的向量,c++,vector,C++,Vector,我想删除一些Val[I]如下: struct Sstruct{ int v1; double v2; }; struct Sstruct2{ std::vector<int> id; double a; std::vector<Sstruct > b; }; std::vector <Sstruct2> Val; 错误: C2064:term不会计算为带1个参数的函数您不必使用for loop loop,只需在DelFun
Val[I]
如下:
struct Sstruct{
int v1;
double v2;
};
struct Sstruct2{
std::vector<int> id;
double a;
std::vector<Sstruct > b;
};
std::vector <Sstruct2> Val;
错误:
C2064:term不会计算为带1个参数的函数您不必使用for loop loop,只需在
DelFun中使用以下内容即可
Val.erase(std::remove_if(Val.begin(), Val.end(),
[]( const Sstruct2& id)
{ // Lambda C++11 use flag -std=c++11
return ( id1.a < somevalue ) ;
}
Val.end());
Val.erase(std::remove_if(Val.begin(),Val.end(),
[](施工图2和id)
{//Lambda C++11使用标志-std=C++11
返回值(id1.a
//或不带Lambda
结构测试乐趣
{
布尔运算符()(常量ssstruct2&i)常量
{
返回值(id1.a
您不必使用for loop loop,只需在DelFun
Val.erase(std::remove_if(Val.begin(), Val.end(),
[]( const Sstruct2& id)
{ // Lambda C++11 use flag -std=c++11
return ( id1.a < somevalue ) ;
}
Val.end());
Val.erase(std::remove_if(Val.begin(),Val.end(),
[](施工图2和id)
{//Lambda C++11使用标志-std=C++11
返回值(id1.a
//或不带Lambda
结构测试乐趣
{
布尔运算符()(常量ssstruct2&i)常量
{
返回值(id1.a
您不必使用for loop loop,只需在DelFun
Val.erase(std::remove_if(Val.begin(), Val.end(),
[]( const Sstruct2& id)
{ // Lambda C++11 use flag -std=c++11
return ( id1.a < somevalue ) ;
}
Val.end());
Val.erase(std::remove_if(Val.begin(),Val.end(),
[](施工图2和id)
{//Lambda C++11使用标志-std=C++11
返回值(id1.a
//或不带Lambda
结构测试乐趣
{
布尔运算符()(常量ssstruct2&i)常量
{
返回值(id1.a
您不必使用for loop loop,只需在DelFun
Val.erase(std::remove_if(Val.begin(), Val.end(),
[]( const Sstruct2& id)
{ // Lambda C++11 use flag -std=c++11
return ( id1.a < somevalue ) ;
}
Val.end());
Val.erase(std::remove_if(Val.begin(),Val.end(),
[](施工图2和id)
{//Lambda C++11使用标志-std=C++11
返回值(id1.a
//或不带Lambda
结构测试乐趣
{
布尔运算符()(常量ssstruct2&i)常量
{
返回值(id1.a