如果和 else 部分都在执行
Both if and else part are executing
/*Q_INVOKABLE*/ void LinkDestUI::selectDeselectSingleDestination(int iXmlId)
{
for(const auto &subNode : m_nodeColl)
{
if(bMultipleSelect())
{
if(subNode->getXmlId() == iXmlId)
{
LOG(Severity_Error)<<"1 ";
subNode->setbSelected(!subNode->bSelected());
}
}
else
{
if(subNode->getXmlId() == iXmlId)
{
LOG(Severity_Error)<<"2 ";
subNode->setbSelected(!subNode->bSelected());
}
else
{
LOG(Severity_Error)<<"3 ";
subNode->setbSelected(false);
}
}
}
}
当我执行我的代码时,编译器会转到 else 部分并在 else 部分中同时包含 if 和 else 语句。 为什么?
这似乎...(暂时增加我的机智属性以避免冒犯(...不太可能:-(
这可能是因为代码被输入了不止一次,而你只是假设它因为输出而执行了这两个部分。
我的建议是将外部else
中的代码更改为:
LOG(Severity_Error)<<"Starting inner if ";
if(subNode->getXmlId() == iXmlId)
{
LOG(Severity_Error)<<"2 ";
subNode->setbSelected(!subNode->bSelected());
}
else
{
LOG(Severity_Error)<<"3 ";
subNode->setbSelected(false);
}
LOG(Severity_Error)<<"Ending inner if ";
您不应该看到两个块在没有干预结束/启动消息集的情况下执行。
相关文章:
- 为什么我的最后一个 ELSE 条件无法正确执行
- 当我的 if 条件计算结果为 false 时,我的 else 块将不会执行
- 我怎样才能接受输入作为双精度值并执行 IF ELSE 语句
- c++ IF 语句执行,但添加 ELSE 会显示错误
- C++ 如果 Else 两个语句都在不应该执行的时候执行
- MQL4:我的if/else if liop只有一半导致当前执行
- 主要使用 if 和 else 语句的程序未正确执行
- 如何使用我的 if-else 语句根据用户权重的输入执行特定操作,然后将其显示到控制台?
- 如果和 else 部分都在执行
- 同时执行 if 和 else 条件的逻辑是什么
- 为什么我的else条件从未执行
- 为什么我的If/Else语句块没有完全执行
- 可执行文件C++问题:while 循环和 if/else if/else
- C++if-else语句继续执行if,而不是else下的代码
- If语句和else If语句将执行
- If else语句将不会执行
- 嵌套的if-else语句只执行一个条件(c++)
- if/ Else的Else组件不执行(c++)
- 执行else块和if块之后的代码
- If和Else条件都执行c++