标题:QT在获得本机IP时出现问题,求助!!
作者:鱼嘴少年
日期:2017-10-26 20:14
内容:
QString Widget::getIP()//获取ip地址{QList list = QNetworkInterface::allAddresses();
foreach ( QHostAddress address, list){ if(address.protocol() == QAbstractSocket::IPv4Protocol)
ui->textEdit->append(address.toString());}return 0;
}编译后报错D:\QT_Project\test_123\widget.cpp:26: error: 'address' was not declared in this scope
if(address.protocol() == QAbstractSocket::IPv4Protocol)adress明明声明了啊 ,怎么回事呢?
^
#1 [鱼嘴少年 10-26 20:26]
adrsss明明进行了声明了啊
#2 [小韩老师 10-27 07:55]
看不出什么问题,检查确保pro文件中增加了network模块,头文件中包含了QHostAddress,如果还不行,就把编译的临时文件全部删除重新编译,祝你好运
#3 [never_forget 10-27 08:36]
我怎么感觉是这个 foreach 用法的问题呢!
#4 [九重水 10-27 08:56]
foreach我极少用,因为C++的for已经有类似的功能,
比如:
QStringList strList = {“abc”, "def"};
for(QString str : strList){
qDebug()
#5 [uidab 10-27 09:37]
#include
#include
#include
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QList list = QNetworkInterface::allAddresses();
foreach ( QHostAddress address, list)
{
if(address.protocol() == QAbstractSocket::IPv4Protocol)
qDebug() textEdit->append(address.toString());
}
return a.exec();
}
测试代码没什么问题,再仔细看看你代码