我偶然发现了一个我无法解决的关于地图的问题。正如我们所知,地图需要它要处理的两种类型的变量,即地图,但是自定义类型呢?
假设我有一个名为“Point”的对象,它包含两个变量 x 和 y。声明这样的地图是否可行:地图?请看下面的代码
class Point
{
public:
double x;
double y;
Point(double x, double y)
{
this->x=x;
this->y=y;
}
};
int main(int argc, const char * argv[])
{
map<Point,int> myMap;
Point p1(0,0);
myMap[p1]=1;
}
我收到一个编译错误:'二进制表达式的操作数无效('const Point' 和 'const Point')。
有谁知道为什么会这样,我该如何解决?任何帮助将非常感激 :)。
干杯!