QList::contains函数原型为:
QBool contains(const T &t) const;
假设T为QWidget*
contains的参数则被衍化为: QWidget * const & t
这样一来传入的参数的类型就不能为 const QWidget * const。
为什么不是衍化为 const QWidget * const & t 呢?
常引用的含义应该与带两个const的指针是一样的,即指向的是常对象,不可指向其他目标。不解啊。
这个问题使得我在希望写一个常成员函数时,又需要用到向类似于contains这样的函数传递this指针时不得不放弃使用常成员函数(或者使用const_cast)。
小弟愚蠢,百思不得其解,还请大侠来帮帮忙,谢谢了!