如:
class cls
{
public:
void print(int i){printf(i);};
}
int main()
{
std::map<cls,int> mymap;
return 0;
}
这段程序是否有问题?
上面的cls作为Key来说需要满足
1. 支持 < 运算符,或者给定了<判断式,map内部是红黑树需要用<,很明显你的cls不满足这个条件。
2. 支持拷贝运算符,以及赋值运算(=) ,key在容器内是相互拷贝的。你的这个类编译器都为你生成了,所以没问题。
map的Key参数可以是类吗?,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/hxb316/p/3860867.html