通过结构中的值对结构向量进行排序

时间:2018-04-13 00:16:29

标签: visual-studio class c++11 vector struct

首先,我要感谢你的帮助。我试图通过结构中的值对结构的向量进行排序,在本例中是一个double。结构看起来像这样。

struct countryInfoStruct
{
    int countryNumber;
    double latitude;
    double longitude;
    string city;
    string country;
    double distance;
};

我的矢量名称是:

vector<countryInfoStruct> countries;

由.csv文件填充,该文件正常工作。我的问题是排序。我创建了一个用于对矢量进行排序的函数;然而,缺少一些东西。我得到的错误是

  

不允许使用CountryData :: countryInfoStruct不完整类型

我已经研究了很多次,但还没能解决它。错误消息标有“countryInfoStruct”。以下是我的sortVector功能。

void CountryData::sortVector()
{
    CountryData m;
    auto sortFunc = [](countryInfoStruct a, countryInfoStruct b) -> bool {
        return a.distance < b.distance;
}

值得注意的是:我知道我错过了下面的迭代器,但这是因为我无法使实际功能起作用。

sort(countries.begin(), countries.end(), sortVector); 

0 个答案:

没有答案