c++ map 插入失敗,請大家過來看看!

提示插入失敗。


// maptest.cpp : 定義控制檯應用程序的入口點。 // 
#include "stdafx.h"
 #include <Windows.h> 
#include <iostream> 
#include <map> 
using na
mespace std; 
typedef struct _sfdata { 
int sow; 
long long time_ms; 
char datat[256]; 
}sfdata; 
class SF_data_key { 
private: 
int Sow; 
long long Time_ms; 
public: 
SF_data_key() 
:Sow(0), 
Time_ms(0) 
{  } 
~SF_data_key()  {  } 
SF_data_key(const SF_data_key &t) 
{  Sow = t.Sow; 
Time_ms = t.Time_ms;  } 
SF_data_key &operator = (const SF_data_key &t) 
{  Sow = t.Sow; 
Time_ms = t.Time_ms; 
return *this;  } 
bool operator == (const SF_data_key &t) const 

if (Sow != t.Sow) 

return false; 

if (Time_ms != t.Time_ms) 

return false; 

return true; 

bool operator > (const SF_data_key &t) const 

if (Sow < t.Sow) 

return false; 

if (Time_ms < t.Time_ms) 

return false; 

return true; 

bool operator < (const SF_data_key &t) const 

if (Sow > t.Sow) 

return false; 

if (Time_ms > t.Time_ms) 

return false; 

return false; 

void format(sfdata &d) 

Sow = d.sow; 
Time_ms = d.time_ms; 

SF_data_key &format(int type, int d) 

switch (type) 

case 3://3秒時隙 
if (d % 3 == 0) 

Sow = d + 1; 
Time_ms = 0; 

else if (d % 3 == 1) 

Sow = d + 1; 
Time_ms = 500; 

break; 
case 6://6秒時隙 
Sow = d + 3; 
Time_ms = 0; 
break; 
case 12://12秒時隙 
Sow = d + 6; 
Time_ms = 0; 
break; 
default: 
break; 

return *this; 
} }; 

int _tmain(int argc, _TCHAR* argv[]) 

map<SF_data_key,sfdata>memdata; 
map<SF_data_key,sfdata>::iterator iter; 
  for (int i = 0; i < 200; i++) 

sfdata sd; 
sd.sow = i; 
sd.time_ms = 0; 
memset(sd.datat,0,sizeof(sd.datat)); 
sprintf(sd.datat,"數據 = %d",i); 
SF_data_key mykey; 
mykey.format(sd); 
//memdata.insert(map<SF_data_key,sfdata>::value_type(mykey,sd)); 
pair<map<SF_data_key,sfdata>::iterator,bool>ret = memdata.insert(make_pair(mykey,sd)); 
if (!ret.second) 

cout<<"插入失敗!"<<endl; 
}  } 
while(1)  { 
cout<<"輸入要查詢的秒計數0~199:"<<endl; 
int sec = 0; 
cin>>sec; 
SF_data_key mykey; 
mykey.format(3,sec); 
iter = memdata.find(mykey); 
cout<<iter->second.datat<<endl; 
}    return 0;
 }
 
手機不好排版,各位多包含啊!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章