0
我試圖對struct的向量進行排序。以下是我的代碼。我無法正確排序......任何人都可以幫助我..?我需要根據mmNo .Sorry ...我錯過了代碼的一些部分...包含結構的向量的排序
typedef struct MMInfo
{
std :: string strMmNo;
std :: string strMmName;
std :: string strMmsPlace;
std :: string strMmAdd;
std :: string strMmPh;
MMInfo(const std::string& mmNo,
const std::string& mmName,
const std::string& mmPlace,
const std::string& mmAdd,
const std::string& mmPh) : stringValue(mmNo,),stringValue(mmName),
stringValue(mmPlace),stringValue(mmAdd),
stringValue(mmPh) {}
bool operator < (const MMInfo& str) const
{
return (mmNo < str.mmNo);
}
} MMInfo;
std::vector <MMInfo> mmlist;
MMInfo mmInfo = {"", "", "", "", ""};
mmInfo.strMmNo = "3452132"; //actually , i have used a loop to get it from the user
mmInfo.strMmName="Peter";
mmInfo.strMmPlace="TCR";
mmInfo.strMmAdd="Street 453";
mmInfo.strMmPh="8587556587";
mmlist.push_back(mmInfo);
sort(mmlist.begin(),mmlist.end());
for (int i=0; i<mmlist.size(); i++)
{
cout << " first row :" << mmlist[i].strMmNo << " " << mmlist[i].strMmName
<<" " <<mmlist[i].strMmsPlace << " " << mmlist[i].strMmsAdd ;
}
爲什麼?什麼不是「恰當地」發生? – 2011-04-27 13:31:01
這段代碼甚至沒有編譯。問題是爲什麼它不能編譯? – 2011-04-27 13:32:57
'mmlist'是空的,所以一起移動,沒有什麼可以在這裏排序。 – 2011-04-27 13:36:09