在c++中const char类型的实参与uint类型的形参不兼容

1.在c++中const char类型的实参与uint类型的形参不兼容
2.

BOOL CvpnDlg::OnInitDialog()
{
    CDialogEx::OnInitDialog();

    // 将“关于...”菜单项添加到系统菜单中。

    // IDM_ABOUTBOX 必须在系统命令范围内。
    //ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    //ASSERT(IDM_ABOUTBOX < 0xF000);

    CMenu* pSysMenu = GetSystemMenu(false);
    if (pSysMenu != NULL)
    {
        BOOL bNameValid;
        CString strAboutMenu;
        bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
        ASSERT(bNameValid);//设置断言
        if (!strAboutMenu.IsEmpty())
        {
            pSysMenu->AppendMenu(MF_SEPARATOR);
            //pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
        }
    }

    // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
    //  执行此操作
    SetIcon(m_hIcon, true);            // 设置大图标
    SetIcon(m_hIcon, false);        // 设置小图标

    //加载界面皮肤
    SkinH_Attach();

    return true;  // 除非将焦点设置到控件,否则返回 TRUE
}

void CvpnDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
    /*if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    {
    CAboutDlg dlgAbout;
    dlgAbout.DoModal();
    }*/
    
    if (nID == SC_MINIMIZE)
    {
        
        m_TrayIcon.Create(this.WM_ICON_NOTIFY,"VPNClient仍在运行,双击此图标显示主界面 ...", m_hIcon, IDR_MAINFRAME, true); 
        m_TrayIcon.SetTooltipText("Running ....");
        ShowWindow(SW_HIDE);
    }
    else if (nID==SC_CLOSE)
    {
        if (MessageBox("确定退出吗?","退出",MB_YESNO)==IDYES)
        {
            //结束程序
            SetEvent(g_hDisconnect[0]);
            CloseHandle(g_hDisconnect[0]);
            exit(-1);
        }
    }
    else
    {
        CDialog::OnSysCommand(nID, lParam);
    }
}

3.错误提示

clipboard.png

clipboard.png

阅读 6.1k
1 个回答

const char* 并不会隐式转换成UINT。解决这种问题,可以用强制转换或者修改参数类型。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题