我正在尝试使用点向量填充点图。我正在尝试制作一个棋盘游戏,其中棋盘上的每个位置都有一个点(x,y)和合法移动的向量(点对象)。
我似乎无法将地图 KEY 作为一个点。
struct Point
{
Point() {}
Point(int ix, int iy ) :x(ix), y(iy) {}
int x;
int y;
};
Point p_source (2,2);
Point p_next1 (1,2);
Point p_next2 (1,3);
Point p_next3 (1,4);
map <Point, vector<Point> > m_point;
dict[p_source].push_back(p_next1);
dict[p_source].push_back(p_next2);
dict[p_source].push_back(p_next3);
这是我得到的错误
在成员函数'bool std::less<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = Point]':|
从 '_Tp& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key = Point, _Tp = std::vector, std::allocator >, std::allocator, std::allocator > > >, _Compare = std::less, _Alloc = std::allocator, std::allocator >, std::allocator, |
从这里实例化|
c:\program 文件('__x < __y' 中的 'operator<' 不匹配|||=== 构建完成:1 个错误,0 个警告 ===|