QMap オブジェクトを含むクラスがあります。
QMap<QString, Connection*> users;
さて、次の関数 Foo() では、if 句は常に false を返しますが、マップを反復処理すると、比較された QString、つまり str1 がキーに存在します。
void Foo(QString& str1, QString& str2)
{
if(users.contains(str1))
users[str1]->doStuff(str2);
else
{
for(QMap<QString, Connection>::iterator iter = users.begin();
iter!= users.end();iter++)
qDebug()<<iter.key();
}
}
私は何か間違ったことをしていますか?contains() が true を返さないのはなぜですか?