使用visual c ++无法获取要编译的消息框。
这个有效。MessageBox::Show("hello the world");
显然我不能硬编码我的所有邮件,所以我想要这样的东西:
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 ++ messagebox没有代码示例,我找到的大部分内容都不适用于visual c ++。
感谢
答案 0 :(得分:3)
您正在使用C ++ / CLI语言的托管代码。这需要对字符串使用System :: String类型:
String^ s = "hello the world";
MessageBox::Show(s);
确保您确实想要编写此类代码。它不是标准的C ++。如果您这样做,请确保阅读C ++ / CLI书籍或教程以学习该语言。
答案 1 :(得分:1)
我用
} catch (Exception ^ex) {
MessageBox::Show(ex->Message);
}
也许你的字符串是错误的格式?尝试使用
进行初始化_T"My String"
或
L"My String"
以前曾为我工作过。您可能默认为8位ASCII或其他一些编码用于声明,这些声明由初始化的对象强制转换为某些其他类型,然后MessageBox::Show()
无法解释(或强制转换)