代码如下:
if(BST_UNCHECKED==(CButton*)GetDlgItem(IDC_CHECK1)->GetCheck())
{
flag ++;
}
GetCheck()是CButton 的成员,明明做了转换,为什么不行?
实际上
GetDlgItem(IDC_CHECK1)返回的是一个Cwnd*的指针,通过(CButton*)进行转换。
可见,转换并不成功,失败了,原来(CButton*)GetDlgItem(IDC_CHECK1)并不能实现转换,少了一个大括号,应该为((CButton*)GetDlgItem(IDC_CHECK1))。