error C2601: 'OnOK' : local function definitions are illegal

来源:百度知道 编辑:UC知道 时间:2024/05/27 19:49:27
我的代码如下,错误指向开头这个位置
void CDlogin::OnOK()
{
// TODO: Add extra validation here

CDialog::OnOK();
UpdateData(TRUE); // 获取输入数据
int m_Time;
if(m_user=="Admin"&&m_password=="1234")

{

CDialog::OnOK(); // 假如用户名和密码正确,就关闭对话框

}

/*假如用户名或密码错误,且还未超出登陆次数,就进行提示*/

if((m_user!="Admin"||m_password!="1234")&&(m_Time<3)) //假如密码和用户名正确

{

AfxMessageBox("用户名或密码不正确");

m_Time++;

}

/*假如超出登陆次数,提示并退出系统*/

if(m_Time>2)

{

AfxMessageBox("登陆错误次数超过3次");

PostQuitMessage(0);

}

}

一般这个错误是你把OnOK的函数定义,写到了别的函数体里面。

还有
CDialog::OnOK();
不要放在函数的开始,要放在这个函数的结尾

问题不在这段代码
一定是你的继承关系没有弄好
另外第一个CDialog::OnOK(); 去掉

ONOK()前面的函数少了个大括号。仔细查下。