我有一个程序,我在其中出于某种目的编写了自定义类。我需要以map
类似数据结构的形式存储类,在其中我可以轻松地获得与另一个相对应的项目。例如:
class Rectangle{
//...
};
class ShapeContainer{
//...};
class WarpedRectangle{
//...
};
class Adorner{
//...
};
以上是三个不同的类,在我的程序中,我尝试做如下事情:(以map
这里的例子,因为它是最接近的)
map _inputOutputMap; 地图_inputWarpedMap;地图 _adornerWarpedMap;
操作 1:
_inputOutputMap[inputRectangle1] = &shapeContainer1;
操作 2:
_inputWarpedMap[inputRectangle1] = &warpedRectangle1;
操作 3:
返回 _inputWarpedMap[inputRectangle1]
操作 4:
_adornerWarpedMap[adorner1] = &warpedRectangle1;
操作 5:
返回 _adornerWarpedMap[adorner1]
请注意,使用的map
目的不是为了获得任何排序顺序、比较等,而只是为了保持各种项目之间的对应关系[对于这个输入,即输出等]。如果我尝试继续使用地图本身,我会struct less : public binary_function<_Tp, _Tp, bool>
在编译期间在 stl_function.h (function: ) 的某处出现错误并突出显示消息:
二进制表达式的无效操作数(const Adorner 和 const Adorner)等。
我怎样才能根据我的要求获得这种类型的对应和查找属性?