• 12121阅读
  • 4回复

QList<T>的index out of range 的问题 [复制链接]

上一主题 下一主题
离线tangxunmin
 

只看楼主 倒序阅读 楼主  发表于: 2009-12-06
— 本帖被 XChinux 执行加亮操作(2009-12-06) —
    QString str;
    QList<QNetworkInterface> list=QNetworkInterface::allInterfaces();
    int count1=list.count();
    QNetworkInterface interface=list.at(count1);
    QList<QNetworkAddressEntry> entrylist= interface.addressEntries();
    QNetworkAddressEntry entry=entrylist.at(entrylist.count());
    str=entry.ip().toString();
    return str;
加了这段代码 会出现ASSERT failure in QList<T>::at:""index out of range"
这是什么原因呢
离线yb824
只看该作者 1楼 发表于: 2009-12-06
QNetworkInterface interface=list.at(count1); //index out of range
离线foxyz

只看该作者 2楼 发表于: 2009-12-07
QNetworkInterface interface=list.at(count1);
当然越界了! 简单点说,如果count1=2表示有两个items, 分别是list.at(0) 和list.at(1)
离线午小夜

只看该作者 3楼 发表于: 2009-12-07
QNetworkInterface interface=list.at(count1 - 1 );  //index從0開始的。
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线tangxunmin

只看该作者 4楼 发表于: 2009-12-07
明白 这么低级的错误 多谢各位!
快速回复
限100 字节
 
上一个 下一个