if ((!m_pMediaPage->PageLayer() || !m_pMediaPage->LoadState()) &&
!m_pMediaPage->m_bRequestList)
{
GetListInfo();
m_pMediaPage->m_bRequestList = TRUE;
}
当所有值都为 0 时,不会执行 GetListInfo()。
PageLayer() 和 LoadState() 返回整数,而 m_bRequestList 是一个整数。
基本上改写成这样:
if ((!0 || !0) && !0) -or- if ((1 || 1) && 1)
我只能假设 if 语句评估的值并不是调试器所看到的那样。
我正在使用 Visual Studio 2005 并在第 1 行和第 4 行放置断点以检查值并查看它是否执行到 if 语句中。我不确定如何调试它。
就像我说的,调试器在断点 1 处查看的 3 个值中的每一个都是 0。
.h 中的函数:
int PageLayer() {return m_iCurrentLayer;} - protected
BOOL LoadState() {return m_bLoadDone;} - protected
布尔:
typedef int BOOL;