使用向量索引无效使用非静态数据成员

时间:2017-05-30 12:03:27

标签: c++ sorting vector deque

  

错误:'sortAgain'声明为函数返回函数

     

bool sortAgain()(int e1,int e2){

     

错误:'sortAgain'未在此范围内声明

     

sort(searchingFor.begin(),searchingFor.end(),sortAgain);

我对这些错误的原因一无所知,函数sortAgain是在调用sort命令的函数上方定义的,我不知道第一个错误甚至意味着什么......并建议?< / p>

searchingFor是一个包含整数值的向量,这些值表示另一个向量中对象的索引。我正在尝试对这些索引进行排序,但却得到了这两个错误。这两个函数都在struct中,sortAgain函数在另一个函数之上。

//SORT BY TIME STAMP
bool sortAgain() (int e1, int e2) {
    if(allEntries[e1].timeStamp != allEntries[e2].timeStamp){
        return (allEntries[e1].timeStamp < allEntries[e2].timeStamp);
    }else if(allEntries[e1].categoryLower != allEntries[e2].categoryLower){
        return (allEntries[e1].categoryLower < allEntries[e2].categoryLower);
    }else{
        return (allEntries[e1].entryID > allEntries[e2].entryID);
    }
}

1 个答案:

答案 0 :(得分:1)

bool sortAgain() (int e1, int e2) 

应该是

bool sortAgain(int e1, int e2) 

btw我真的不明白这个功能是做什么的,但它肯定不会排序任何东西。我强烈建议给它一个更好的名字。