根据结构元素 - c ++对结构对象的向量进行排序

时间:2013-05-03 22:02:33

标签: c++ sorting structure

所以,我正在尝试根据结构中的vectormyStruct自定义对象num1进行排序。 我必须遵循以下代码:

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说明操作,但我一直在收到编译错误:

  

没有用于初始化'myStruct'的匹配构造函数

我在MacOSX Mountain Lion上使用Xcode 4.6.2 - 并不重要,但是Xcode正在给我这个错误

2 个答案:

答案 0 :(得分:3)

在上面介绍的代码中,构造函数名称与struct的名称(myStruct vs student)不匹配。我首先要解决这个问题。

答案 1 :(得分:2)

当我测试你的代码,但是将你的结构名称更改为student时(鉴于它在结构中引用的内容),我没有收到任何编译错误。

也许这就是问题?