-1
構造体をキーとして使用する単純なマップを作成しますが、実行中にクラッシュします。 問題を指摘できますか?本当にありがとう。構造体のキーの原因クラッシュでマップを使用
アイテムを3番目に置くとコードがクラッシュします。
...
typedef struct pmjob
{
std::string jobId;
std::string jobGroup;
int reportingPeriod;
int compressionType;
bool operator == (const struct pmjob &other) const
{
return ((jobGroup.compare(other.jobGroup) == 0) && (reportingPeriod == other.reportingPeriod));
}
bool operator < (const struct pmjob &other) const
{
if (reportingPeriod < other.reportingPeriod)
{
if(jobGroup.compare(other.jobGroup) == 0)
return false;
}
return true;
//return ((reportingPeriod < other.reportingPeriod) || (jobGroup.compare(other.jobGroup)));
}
}PMJob;
typedef std::map<PMJob, int> PMJobMap;
PMJobMap List;
typedef std::pair<PMJob, int> PMJobPair;
あなたは一つの方法を提案してもらえますか? –
@doccocobai答えは – ikleschenkov
です。ありがとう@ikleschenkov。私たちはstructのすべての文字列を比較する必要がありますか?私はそれをチェックします。しかし、私は単にreportingPeriodとjobGroupをキーとして使用するだけですか?私はjobIdとcompressionTypeを気にしないという意味です。 –