为什么SortCompare里面总是有str2或str1为空的情况呢

#include <algorithm>
#include <vector>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// The one and only application object
struct STRU_Record
{
CString strName;
CString strFile;
SYSTEMTIME stime;
};
CWinApp theApp;
using namespace std;
int SortCompare(const STRU_Record & str1, const STRU_Record & str2)
{
return str1.(str2.strName);
}
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
CString strHello;
strHello.LoadString(IDS_HELLO);
cout << (LPCTSTR)strHello << endl;
}
vector<STRU_Record> arrRecord;
for (int i=0; i<20; i++)
{
STRU_Record struProcess;
GetSystemTime(&struProcess.stime);
struProcess.strFile.Format(_T("%d"), i);
struProcess.strName.Format(_T("%d"), i*2);
arrRecord.push_back(struProcess);
}
sort(arrRecord.begin(), arrRecord.end(), SortCompare);
for (i=0; i<arrRecord.size(); i++)
{
printf("%s\n", arrRecord[i].strName);
}
return nRetCode;
}
#include <vector>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// The one and only application object
struct STRU_Record
{
CString strName;
CString strFile;
SYSTEMTIME stime;
};
CWinApp theApp;
using namespace std;
int SortCompare(const STRU_Record & str1, const STRU_Record & str2)
{
return str1.(str2.strName);
}
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
CString strHello;
strHello.LoadString(IDS_HELLO);
cout << (LPCTSTR)strHello << endl;
}
vector<STRU_Record> arrRecord;
for (int i=0; i<20; i++)
{
STRU_Record struProcess;
GetSystemTime(&struProcess.stime);
struProcess.strFile.Format(_T("%d"), i);
struProcess.strName.Format(_T("%d"), i*2);
arrRecord.push_back(struProcess);
}
sort(arrRecord.begin(), arrRecord.end(), SortCompare);
for (i=0; i<arrRecord.size(); i++)
{
printf("%s\n", arrRecord[i].strName);
}
return nRetCode;
}