因此,我尝试根据结构中的 num1
对自定义对象 myStruct
的 vector
进行排序。
我必须遵循以下代码:
struct myStruct{
int num1;
std::vector<int> vecStruct;
int num2;
myStruct(int n1, std::vector<int> j, int n2) : num1(n1), vecStruct(j), num2(n2) {}
bool operator < (const myStruct& s) const
{
return (num1 < s.num1);
}
};
然后我用它来排序:
sort(myVector.begin(), myVector.end());
在哪里
std::vector<myStruct> myVector;
我试着关注 these说明,但我不断收到编译错误:
No matching constructor for initialisation of 'myStruct'
我在 MacOSX Mountain Lion 上使用 Xcode 4.6.2 - 这并不重要,但 Xcode 是给我这个错误的原因
最佳答案
在您上面提供的代码中,您的构造函数名称与结构的名称不匹配(myStruct vs student)。我会先解决这个问题。
关于c++ - 根据结构的元素对结构对象的 vector 进行排序 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16368218/