0
代碼失敗在編譯行使用struct作爲hashmap中的鍵。如何插入值?
map_free_segments [ loc ] = color;
爲錯誤的第一行是:
錯誤C2784:「布爾的std ::操作者<(常量的std ::矢量< _Ty,_Alloc> &,常量性病::矢量< _Ty,_Alloc> &)」:不能推斷爲模板參數 '常量性病::矢量< _Ty,_Alloc> &' 從 'const的本地化'
的完整源:
#include <windows.h>
#include <hash_map>
using namespace std;
using namespace stdext;
#pragma pack(1)
struct localization
{
char X;
char Y;
char Z;
char L;
};
#pragma pack(1)
typedef hash_map<localization,unsigned long> type_map_free_segments;
//typedef pair<localization, unsigned long> pair_loc;
int main(int argc, CHAR* argv[])
{
unsigned long color = 1234;
type_map_free_segments map_free_segments;
localization loc;
loc.X = 1;
loc.Y = 2;
loc.Z = 3;
loc.L = 5;
map_free_segments [ loc ] = color;
//map_free_segments.insert(pair_loc(loc, color));
return 0;
}