与qt4相比,qmap qt5的行为发生了变化

时间:2013-10-01 12:31:54

标签: c++ qt4 qt5

考虑一下这个例子

QMap<int, int*> testMap;

auto middle = testMap.insert(512, nullptr);
auto left = middle - 1;
auto right = middle + 1;

if(left != testMap.end()) {
    qDebug() << "1 left key:" << left.key();
}
if(middle != testMap.end()) {
    qDebug() << "1 middle key:" << middle.key();
}
if(right != testMap.end()) {
    qDebug() << "1 right key:" << right.key();
}

当用qt4.8.5编译时,当使用qt5时所有的工作都是例外(i686上都是4.8.1)left.key()让我头疼;] 有关此行为的解决方法吗? THX

0 个答案:

没有答案