Qt QMap检索上次添加的记录数据

Qt QMap检索上次添加的记录数据,qt,Qt,我有以下数据方法: /** * @brief UeOrdersModel::ueSlotRefreshOrdersData * @return bool (true - success, false - error) */ bool UeOrdersModel::ueSlotRefreshOrdersData() { QString userId=QString(); QString placeId=QString(); QString customerId=QS

我有以下数据方法:

/**
 * @brief UeOrdersModel::ueSlotRefreshOrdersData
 * @return  bool (true - success, false - error)
 */
bool UeOrdersModel::ueSlotRefreshOrdersData()
{
    QString userId=QString();
    QString placeId=QString();
    QString customerId=QString();
    bool result=false;

    if(this->ueLoggedUsersInfo()->ueNumberOfLoggedUsers()>0)
    {
        QMap<QPair<QString, QString>, QString>::const_iterator iterator=this->ueLoggedUsersInfo()->ueLoggedUsersData()->constBegin();
        userId=iterator.key().first();
        placeId=iterator.key().second();
        customerId=iterator.value();

        if(this->ueRefreshOrdersData(userId,
                                     placeId,
                                     customerId))
        {
            result=true;
        }   // if
    }   // if

    return result;
}   // ueSlotRefreshOrdersData
为什么以及如何摆脱它们?我正在尝试将数据从
QMap
提取到三个
QString
s中


注:第二个问题可能是离题的,但由于某种程度上与问题有关,我会在这里问:如果我做了
insert()
-将记录插入
QMap
,最后添加的记录是在数据结构的顶部或底部?

我真蠢:
first
second
是成员变量,而不是方法,因此:

/**
 * @brief UeOrdersModel::ueSlotRefreshOrdersData
 * @return  bool (true - success, false - error)
 */
bool UeOrdersModel::ueSlotRefreshOrdersData()
{
    QString userId=QString();
    QString placeId=QString();
    QString customerId=QString();
    bool result=false;

    if(this->ueLoggedUsersInfo()->ueNumberOfLoggedUsers()>0)
    {
        QMap<QPair<QString, QString>, QString>::const_iterator iterator=this->ueLoggedUsersInfo()->ueLoggedUsersData()->constBegin();
        userId=iterator.key().first;
        placeId=iterator.key().second;
        customerId=iterator.value();

        if(this->ueRefreshOrdersData(userId,
                                     placeId,
                                     customerId))
        {
            result=true;
        }   // if
    }   // if

    return result;
}   // ueSlotRefreshOrdersData
/**
*@BRIENT UeOrdersModel::UESLOTREFRESHTORDERSDATA
*@return bool(真-成功,假-错误)
*/
bool UeOrdersModel::ueSlotRefreshOrdersData()
{
QString userId=QString();
QString placeId=QString();
QString customerId=QString();
布尔结果=假;
如果(此->ueLoggedUsersInfo()->ueNumberOfLoggedUsers()>0)
{
QMap::const_iterator iterator=this->ueloggeduserinfo()->ueLoggedUsersData()->constBegin();
userId=iterator.key().first;
placeId=iterator.key().second;
customerId=iterator.value();
如果(此->UEREFRESHORDSDATA(用户ID,
placeId,
客户ID)
{
结果=真;
}//如果
}//如果
返回结果;
}//UESLOTREFRESHTORDERSDATA

上面的代码编译

首先应该是迭代器.key()而不是
迭代器.key().first()。对于
iterator.key().second也是如此
@vahancho LOL,它是
第一个
第二个
是成员变量,而不是方法。我真傻!
/**
 * @brief UeOrdersModel::ueSlotRefreshOrdersData
 * @return  bool (true - success, false - error)
 */
bool UeOrdersModel::ueSlotRefreshOrdersData()
{
    QString userId=QString();
    QString placeId=QString();
    QString customerId=QString();
    bool result=false;

    if(this->ueLoggedUsersInfo()->ueNumberOfLoggedUsers()>0)
    {
        QMap<QPair<QString, QString>, QString>::const_iterator iterator=this->ueLoggedUsersInfo()->ueLoggedUsersData()->constBegin();
        userId=iterator.key().first;
        placeId=iterator.key().second;
        customerId=iterator.value();

        if(this->ueRefreshOrdersData(userId,
                                     placeId,
                                     customerId))
        {
            result=true;
        }   // if
    }   // if

    return result;
}   // ueSlotRefreshOrdersData