QtCreator 语义问题警告代码永远不会被执行
QtCreator semantic issue warning code will never be executed
我有以下 Qt
代码块:
if(this->ueCommunicationsSocket()->bind(QHostAddress(data[0].toString()),
static_cast<quint16>(data[1].toInt())),
QAbstractSocket::ShareAddress)
{
qDebug() << Q_FUNC_INFO
<< "TCP socket bind succesfull";
}
else
{
qDebug() << Q_FUNC_INFO
<< QString::number(this->ueCommunicationsSocket()->error())
<< this->ueCommunicationsSocket()->errorString(); // here i get semantic issue
} // if
我收到 永远不会执行语义问题警告代码。我知道这是一个愚蠢的错误,我准备投反对票,但是,我找不到错误!这里还有一个截图:
if(this->ueCommunicationsSocket()->bind(QHostAddress(data[0].toString()),
static_cast<quint16>(data[1].toInt())),
QAbstractSocket::ShareAddress)
是
if ( /*something */, QAbstractSocket::ShareAddress)
因为 AbstractSocket::SharedAddress
是 0x1
,这个带逗号运算符的条件 !
总是 true,即 else
分支将永远不会被执行。
我有以下 Qt
代码块:
if(this->ueCommunicationsSocket()->bind(QHostAddress(data[0].toString()),
static_cast<quint16>(data[1].toInt())),
QAbstractSocket::ShareAddress)
{
qDebug() << Q_FUNC_INFO
<< "TCP socket bind succesfull";
}
else
{
qDebug() << Q_FUNC_INFO
<< QString::number(this->ueCommunicationsSocket()->error())
<< this->ueCommunicationsSocket()->errorString(); // here i get semantic issue
} // if
我收到 永远不会执行语义问题警告代码。我知道这是一个愚蠢的错误,我准备投反对票,但是,我找不到错误!这里还有一个截图:
if(this->ueCommunicationsSocket()->bind(QHostAddress(data[0].toString()),
static_cast<quint16>(data[1].toInt())),
QAbstractSocket::ShareAddress)
是
if ( /*something */, QAbstractSocket::ShareAddress)
因为 AbstractSocket::SharedAddress
是 0x1
,这个带逗号运算符的条件 !
总是 true,即 else
分支将永远不会被执行。