if (strAttr == "BeShow") m_bShowExitBtn = atoi(strValue.c_str()) != 0; else if (strAttr == "PluginName") if (!strValue.empty()) m_barInfoExit.strPluginName = strValue; else if (strAttr == "NameID") if (!strValue.empty()) m_barInfoExit.strBtnText = strValue; else if (strAttr == "ToolTipID") if (!strValue.empty()) m_barInfoExit.strBtnTooltip = strValue; else if (strAttr == "NormalImage") if (!strValue.empty()) m_barInfoExit.strNoSelNormal = strValue;
上面被编译器识别出来的代码(相对排版而言)却是另外一回事,和我的意图不一样,当时找了半天无果,后来通过加上大括号发现原因
if (strAttr == "BeShow") m_bShowExitBtn = atoi(strValue.c_str()) != 0; else if (strAttr == "PluginName") if (!strValue.empty()) m_barInfoExit.strPluginName = strValue; else if (strAttr == "NameID") if (!strValue.empty()) m_barInfoExit.strBtnText = strValue; else if (strAttr == "ToolTipID") if (!strValue.empty()) m_barInfoExit.strBtnTooltip = strValue; else if (strAttr == "NormalImage") if (!strValue.empty()) m_barInfoExit.strNoSelNormal = strValue;
所以逻辑完全不一样了。