2013-08-25 59 views
1

我的工作我的代碼在C++中,但是當我輸入代碼的一個消息顯示誤差的MessageBox C++

MessageBox::Show(NMessage1); 

我得到的是錯誤 「‘MessageBoxA’:不是類或「 和 ‘命名空間名稱‘秀’:找不到標識符’

回答

3

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

0

你給你的類名MessageBox命名了嗎?這也是一個Windows API函數(請參閱MSDN)。當你使用Unicode構建時,我認爲有一個#define可以製作MessageBoxA。

如果您只是想調用Windows API,請參閱鏈接。如果這是你的班級使用不同的名字。

0

假設你正在嘗試使用.NET MessageBox::ShowC++/CLI

你是否有這個在你的代碼

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

如果沒有,添加它,這就是的MessageBox ::展會定義。

如果您已經擁有它,那麼您的問題可能是因爲您還包括windows.h

windows.h#define s MessageBox to MessageBoxA in non UNICODE build。因此,您無法使用System.Windows.FormsMessageBoxundef ing MessageBox宏將解決您的問題。

執行以下

#undef MessageBox 

的地方之後,你#include <windows.h>