我有一系列结构,如下所示。
struct valueCache
{
bool valid;
int startPc;
int index;
f32bit input[12];
f32bit result[12];
};
static const int vcSize = 32;
static valueCache * vc = new valueCache[vcSize];
我想通过索引按降序对此数组进行排序。所以我尝试了这个:
myClass.cpp
bool myClass::sortByIndex(const valueCache &lhs, const valueCache &rhs) { return lhs.index > rhs.index; }
bool myClass::sortArray(
{
std::sort(vc, vc + vcSize, sortByIndex);
}
myClass.h
class myClass
{
public:
bool sortByIndex(const valueCache &lhs, const valueCache &rhs);
}
我收到此错误
error: argument of type
‘bool (gpu3d::myClass::)(const gpu3d::valueCache&, const gpu3d::valueCache&)’ does not match
‘bool (gpu3d::myClass::*)(const gpu3d::valueCache&, const gpu3d::valueCache&)’
我有什么想法可以解决这个问题吗?
答案 0 :(得分:3)
声明sortByIndex
static
,因为您无法将非静态成员函数传递给std::sort
。