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);
}
}
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()前面的函数少了个大括号。仔细查下。