1

我正在使用 C++ 编写代码,但是当我输入要显示的消息框的代码时

MessageBox::Show(NMessage1);

我得到的只是错误“'MessageBoxA':不是类或命名空间名称”和“'Show':找不到标识符”

4

3 回答 3

3

MessageBox::Show不是 Windows API,它只是MessageBox或者::MesssageBox你需要#include <windows.h>.

于 2013-08-25T02:28:01.630 回答
1

MessageBox::Show假设您正在尝试使用 .NETC++/CLI

你的代码中有这个吗

#using <System.Windows.Forms.dll>
using namespace System::Windows::Forms;

如果没有,添加它,这就是 MessageBox::Show 定义的地方。

如果您已经拥有它,那么您的问题可能是因为您还包含windows.h.

windows.h #define在非 UNICODE 构建中MessageBoxMessageBoxA因此,您无法使用MessageBoxfrom System.Windows.Formsundef使用MessageBox宏将解决您的问题。

请执行下列操作

#undef MessageBox 

在你所在的地方之后#include <windows.h>

于 2013-08-25T02:33:18.377 回答
0

你命名你的类 MessageBox 了吗?这也是一个 Windows API 函数(参见MSDN)。当您使用 Unicode 构建时,我认为有一个#define使 MessageBoxA 成为可能。

如果您只想调用 Windows API,请参阅链接。如果这是您的班级,请使用不同的名称。

于 2013-08-25T02:28:13.857 回答