0

因此,我正在尝试根据结构vector对自定义对象进行排序。我必须遵循代码:myStructnum1

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;

我尝试按照这些说明进行操作,但我不断收到编译错误:

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

我在 MacOSX Mountain Lion 上使用 Xcode 4.6.2 - 没关系,但 Xcode 是什么给了我这个错误

4

2 回答 2

3

在您上面提供的代码中,您的构造函数名称与结构的名称不匹配(myStruct 与 student)。我会先解决这个问题。

于 2013-05-03T22:08:02.593 回答
2

当我测试您的代码,但将您的结构的名称更改为student(考虑到它在结构内部引用的名称)时,我没有收到任何编译错误。

也许这就是问题?

于 2013-05-03T22:10:50.033 回答