引言 当我们使用QMultiMap的remove函数来删除容器中的某一个元素时,若是容器中存放的是基本数据类型,则程序编译的时候没有任何问题,但是当容器中存放的是自定义的数据,这时若是C++基础比较扎实的,应该不会出现编译报错的问题,但是C++j基础不扎实的,就不会在自定义数据类型中重写赋值运算符函数,故而导致使用remove删除容器中的元素时,会出现编译错误。 方法 其实上述大致提到是因为自定义数据类型需要重写赋值运算符。故而在自定义数据类型中重写赋值运算符便可编译正常。究其原因是因为remove函数本身会进行内部的判断。