错误C2664:MessageBoxW无法将参数2从'const char'转换为'LPCWSTR'

科迪

我不断收到此错误消息:

状态错误C2664-int MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT)':无法将参数2从'const char *'转换为'LPCWSTR'“ 31

这是我的下面的代码。我知道这与通过what()错误类中函数传递const类型有关由于某种原因,它是不兼容的。有任何想法吗?

// on startup execute to determine exceptions
try
{
    // instantiate object app of class AppWindow
    AppWindow app;

    // if(initialize function in class app is executed, and while the app is running, broadcast app)
    if (app.init())
    {
        while (app.isRun())
        {
            app.broadcast();
        }
    }
}

// if the following error is found, execute MessageBox function with following parameters
catch (const std::runtime_error& error)
{
    // parameters(has no owner window so displays independently)
    MessageBox(nullptr,  error.what(), L"An error has occured", MB_OK);
}

return 0;
迈克猫

std::runtime_error::what()返回const char*,因此您应该使用MessageBoxA(),而MessageBox()不是MessageBoxW()

MessageBoxA(nullptr,  error.what(), "An error has occured", MB_OK);

同样不要忘记L从字符串文字中删除前缀。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将const char **转换为void *?

来自分类Dev

从char转换为LPCWSTR

来自分类Dev

将const char *转换为QString

来自分类Dev

无法将“ TCHAR *”转换为“ const char *”

来自分类Dev

将String ^转换为const char *

来自分类Dev

将const char *转换为std :: string

来自分类Dev

错误:C2664:“ QXmlStreamWriter :: writeAttributes”:无法将参数1从“ QVector <T>”转换为“ const QXmlStreamAttributes&”

来自分类Dev

C ++-错误C2664:'int scanf(const char *,...)':无法将参数1从'int'转换为'const char *'

来自分类Dev

C将const char *转换为char

来自分类Dev

将C ++ const char *转换为char *

来自分类Dev

错误C2664:'System :: String ^ System :: Data :: Common :: DbDataReader :: GetString(int)':无法将参数1从'const char [12]'转换为'int'

来自分类Dev

无法将'int'转换为'const char *'

来自分类Dev

将Constexpr强制转换为const char []

来自分类Dev

将const char **转换为std :: vector <const char *>

来自分类Dev

错误C2664'HRESULT IUnknown :: QueryInterface(const IID&,void **)':无法将参数1从'const winrt :: guid'转换为'const IID&'

来自分类Dev

将const Char *转换为Char数组

来自分类Dev

将(const)char *转换为LPCWSTR

来自分类Dev

从char转换为LPCWSTR

来自分类Dev

将const char *转换为QString

来自分类Dev

无法将“ TCHAR *”转换为“ const char *”

来自分类Dev

错误C2664:“ errno_t strcpy_s(char *,rsize_t,const char *)”:无法将参数2从“ char [512]”转换为“ rsize_t”

来自分类Dev

无法从DWORD转换为const char *

来自分类Dev

无法将参数1从char转换为strcmp的const char

来自分类Dev

将表格CString转换为const char *

来自分类Dev

无法将参数1从'const char [11]'转换为'LPCWSTR'

来自分类Dev

在视觉工作室中获取错误:错误C2664:'_chmod':无法将参数1从'wchar_t [260]'转换为'const char *'

来自分类Dev

无法将 QString 转换为 Const Char*

来自分类Dev

如何将 const char* 转换为 const unsigned char*

来自分类Dev

错误 C2440:“=”:无法从“const char *”转换为“LPCWSTR”

Related 相关文章

  1. 1

    将const char **转换为void *?

  2. 2

    从char转换为LPCWSTR

  3. 3

    将const char *转换为QString

  4. 4

    无法将“ TCHAR *”转换为“ const char *”

  5. 5

    将String ^转换为const char *

  6. 6

    将const char *转换为std :: string

  7. 7

    错误:C2664:“ QXmlStreamWriter :: writeAttributes”:无法将参数1从“ QVector <T>”转换为“ const QXmlStreamAttributes&”

  8. 8

    C ++-错误C2664:'int scanf(const char *,...)':无法将参数1从'int'转换为'const char *'

  9. 9

    C将const char *转换为char

  10. 10

    将C ++ const char *转换为char *

  11. 11

    错误C2664:'System :: String ^ System :: Data :: Common :: DbDataReader :: GetString(int)':无法将参数1从'const char [12]'转换为'int'

  12. 12

    无法将'int'转换为'const char *'

  13. 13

    将Constexpr强制转换为const char []

  14. 14

    将const char **转换为std :: vector <const char *>

  15. 15

    错误C2664'HRESULT IUnknown :: QueryInterface(const IID&,void **)':无法将参数1从'const winrt :: guid'转换为'const IID&'

  16. 16

    将const Char *转换为Char数组

  17. 17

    将(const)char *转换为LPCWSTR

  18. 18

    从char转换为LPCWSTR

  19. 19

    将const char *转换为QString

  20. 20

    无法将“ TCHAR *”转换为“ const char *”

  21. 21

    错误C2664:“ errno_t strcpy_s(char *,rsize_t,const char *)”:无法将参数2从“ char [512]”转换为“ rsize_t”

  22. 22

    无法从DWORD转换为const char *

  23. 23

    无法将参数1从char转换为strcmp的const char

  24. 24

    将表格CString转换为const char *

  25. 25

    无法将参数1从'const char [11]'转换为'LPCWSTR'

  26. 26

    在视觉工作室中获取错误:错误C2664:'_chmod':无法将参数1从'wchar_t [260]'转换为'const char *'

  27. 27

    无法将 QString 转换为 Const Char*

  28. 28

    如何将 const char* 转换为 const unsigned char*

  29. 29

    错误 C2440:“=”:无法从“const char *”转换为“LPCWSTR”

热门标签

归档