注册 登录
编程论坛 VC++/MFC

以下程序在VS2005中运行为什么会出现错误(最后的红字)?

kxfei5555w 发布于 2010-10-14 10:46, 532 次点击
CDlgpassword  dlgpass;
    if(dlgpass.DoModal()==IDOK)
    {
        if(strcmp(dlgpass.m_password, "12a"))
        {
            AfxMessageBox("口令错误,确定后将退出程序.",MB_OK|MB_ICONERROR);
            return FALSE;
        }
    }
    else
        return FALSE;
1>e:\新建文件夹\21\21\21.cpp(65) : error C2664: 'strcmp' : cannot convert parameter 1 from 'CEdit' to 'const char *'
1>        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
4 回复
#2
hahayezhe2010-10-14 11:34
dlgpass.m_password的类型 不是const char*  如果m_password是指针的话
用memcpy比较吧
#3
cnfarer2010-10-14 13:09
dlgpass.m_password指的应该是那个输入密码的控件吧,应该将这个控件中输入的内容取出来进行比较
#4
kxfei5555w2010-10-14 17:21
回复 3楼 cnfarer
是啊是啊,但是怎么取出来比较呢?
#5
kxfei5555w2010-10-14 17:27
回复 2楼 hahayezhe
m_password 是在添加变量时定义的是int 类型
1