所以,我正在尝试根据结构中的vector
对myStruct
自定义对象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正在给我这个错误
答案 0 :(得分:3)
在上面介绍的代码中,构造函数名称与struct的名称(myStruct vs student)不匹配。我首先要解决这个问题。
答案 1 :(得分:2)
当我测试你的代码,但是将你的结构名称更改为student
时(鉴于它在结构中引用的内容),我没有收到任何编译错误。
也许这就是问题?