奇怪问题:到底是C++出了错,还是微软的错?我做了一个对话框程序,加了IDC_SAVE按扭双击按扭,添加新的功能函数,即void CTestDlg::OnSave(){}我想修改这个函数,声明改为BOOL OnSave(BOOL TAG_MESSAGEBOX=FALSE, BOOL TAG_SAVE=FALSE);定义改成:BOOL OnSave(BOOL TAG_MESSAGEBOX, BOOL TAG_SAVE){CString test;test.Format("%2d, %2d", TAG_MESSAGEBOX, TAG_SAVE);MessageBox(test, "初始化是否正常?");if(TAG_MESSAGEBOX || TAG_SAVE)return TRUE;elsereturn FALSE;}大家猜怎么着?在DEBUG模式下,程序不会死掉,但是弹出的对话框显示TAG_MESSAGEBOX和TAG_SAVE的值不是0!在RELEASE模式下,点击IDC_SAVE会死掉!!!内存读写错误但是间接调用不会出现问题。各位大侠,有谁能解释这个古怪的问题:我明明在专用明中进行了默认初始化,为什么还是不管用?是VC的机制问题,还是C++的问题?菜鸟问题一个,莫笑。