error C2662

error C2662: “WorkStation::trade::FourLevelAddressBase::GetAreaName”: 不能将“this”指针从“const WorkStation::trade::FourLevelAddressBase”转换为“WorkStation::trade::FourLevelAddressBase &”

1>          转换丢失限定符


for ( int i=0; i<listProvince.size(); i++ )
            {
                QString strProvinceName = (listProvince.at(i)).GetAreaName();//----------------报错---------------------
                ui.sCityProvinceCombo->addItem( strProvinceName );
            }


解决方法:

            for ( int i=0; i<listProvince.size(); i++ )
            {
                FourLevelAddressBase temp = listProvince.at(i);
                QString strProvinceName = temp.GetAreaName();

                ui.sCityProvinceCombo->addItem( strProvinceName );
            }




终极原因:


QList< FourLevelAddressBase > &listCity

                QStringList strTempList;
                for ( int i=0; i<listCity.size(); i++ )
                {
                    strTempList<<listCity.at(i).GetAreaName();//调用出错。

                }


原因为QList的at()方法返回值为const T类型的,是const类型。


所以,需要将FourLevelAddressBase类的GetAreaName()修改为const成员函数即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值