我正在尝试制作一个弹出消息框,上面写着“Hello World”。 我从File> New Project> Visual C ++> CLR> Windows Form Application开始 然后我将一个按钮从工具箱拖到窗体上,双击它 进入
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
MessageBox("Hello World");
}
然后我编译了...... 但我收到一条错误消息
错误C2440:'':无法从'const char [12]'转换为'System :: Windows :: Forms :: MessageBox'
答案 0 :(得分:9)
你需要:
MessageBox::Show("Hello World");
(根据Visual Studio 2005中的说明进行测试。)
答案 1 :(得分:5)
我不确定你的最终目标是什么,但主题提到了“C语言中的Windows应用程序” - 你已经创建了一个C ++ / CLI应用程序,这实际上不是一回事。
C ++ / CLI是Microsoft尝试在.NET运行时附近创建C ++方言。
如果要构建C程序,请从Visual C ++开始 - >赢得32项目。
在生成的代码中,在_tWinMain函数中,添加对本机MessageBox函数的调用:
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
MessageBox(NULL, _T("Hello world!"), _T("My program"), MB_OK);
// ...
}
这应该让你开始。