Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何删除包含int向量的结构的向量_C++_Vector - Fatal编程技术网

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