我正在使用 C++ 编写代码,但是当我输入要显示的消息框的代码时
MessageBox::Show(NMessage1);
我得到的只是错误“'MessageBoxA':不是类或命名空间名称”和“'Show':找不到标识符”
我正在使用 C++ 编写代码,但是当我输入要显示的消息框的代码时
MessageBox::Show(NMessage1);
我得到的只是错误“'MessageBoxA':不是类或命名空间名称”和“'Show':找不到标识符”
MessageBox::Show
不是 Windows API,它只是MessageBox
或者::MesssageBox
你需要#include <windows.h>
.
MessageBox::Show
假设您正在尝试使用 .NETC++/CLI
你的代码中有这个吗
#using <System.Windows.Forms.dll>
using namespace System::Windows::Forms;
如果没有,添加它,这就是 MessageBox::Show 定义的地方。
如果您已经拥有它,那么您的问题可能是因为您还包含windows.h
.
windows.h
#define
在非 UNICODE 构建中MessageBox
。MessageBoxA
因此,您无法使用MessageBox
from System.Windows.Forms
。undef
使用MessageBox
宏将解决您的问题。
请执行下列操作
#undef MessageBox
在你所在的地方之后#include <windows.h>
你命名你的类 MessageBox 了吗?这也是一个 Windows API 函数(参见MSDN)。当您使用 Unicode 构建时,我认为有一个#define
使 MessageBoxA 成为可能。
如果您只想调用 Windows API,请参阅链接。如果这是您的班级,请使用不同的名称。