消息框中的c ++异常消息

时间:2016-12-14 10:23:41

标签: exception c++-cx

似乎很简单但无法找到解决方案。

我想要这样的东西

catch (Exception^ ex)
{
    MessageBoxA(NULL, ex->ToString(),  "", MB_OK);
}

但它说Plattform :: string ^与LPCSTR不兼容。

1 个答案:

答案 0 :(得分:-1)

Platform :: String是.NET类,当然与旧的char*不兼容。

要解决此问题,您需要做两件事。

首先,将Platform::String转换为wchar_t*,因为它是unicode字符串。使用方法Data()

其次,使用MessageBoxW,因为我们使用的是unicode,而不是ANSI。

结果代码应如下所示:

MessageBoxW(NULL, ex->ToString()->Data(),  "", MB_OK);