Winforms VisualC++消息框 使用Visual C++无法获得消息框进行编译。

Winforms VisualC++消息框 使用Visual C++无法获得消息框进行编译。,winforms,visual-c++,c++-cli,Winforms,Visual C++,C++ Cli,这个有效。MessageBox::向世界展示你好 显然,我无法硬编码所有消息,因此我希望这样: string s = "hello the world"; MessageBox::Show(s); | also tried MessageBox::Show(NULL,s); 不起作用。还尝试: char* test = (char*)s.c_str(); MessageBox::Show(test); 包括在我的文件顶部 搜索谷歌,在MSDN上没有代码示例,对于C++的MexEdbox,我发

这个有效。MessageBox::向世界展示你好

显然,我无法硬编码所有消息,因此我希望这样:

string s = "hello the world";
MessageBox::Show(s); | also tried MessageBox::Show(NULL,s);
不起作用。还尝试:

char* test = (char*)s.c_str();
MessageBox::Show(test);
包括在我的文件顶部

搜索谷歌,在MSDN上没有代码示例,对于C++的MexEdbox,我发现的大部分东西不是VisualC++的。 谢谢

我用

        } catch (Exception ^ex) {
            MessageBox::Show(ex->Message);
        }
也许你的字符串格式不对?尝试初始化

_T"My String"

以前为我工作过。您的声明可能默认为8位ASCII或其他编码,这些声明被初始化的对象强制转换为其他类型,然后无法由MessageBox::Show解释或强制转换

        } catch (Exception ^ex) {
            MessageBox::Show(ex->Message);
        }
也许你的字符串格式不对?尝试初始化

_T"My String"


以前为我工作过。对于声明,您可能默认使用8位ASCII或其他编码,这些声明被初始化的对象转换为其他类型,而MessageBox::Show无法解释或转换这些类型。您使用的是C++/CLI语言中的托管代码。这需要对字符串使用System::String类型:

String^ s = "hello the world";
MessageBox::Show(s); 

一定要确保你真的想写这种代码。它不是标准C++。如果确实如此,请确保阅读C++/CLI书籍或教程来学习该语言。

您正在使用C++/CLI语言中的托管代码。这需要对字符串使用System::String类型:

String^ s = "hello the world";
MessageBox::Show(s); 
一定要确保你真的想写这种代码。它不是标准C++。如果你这样做了,那么一定要阅读C++/CLI书籍或教程来学习该语言。

试试Lhello world。另外,您使用的是:.NET还是MFC?请尝试Lhello world。另外,您使用的是:.NET还是MFC?