#c #mfc
#c #mfc
Вопрос:
Я создаю программу для загрузки изображения с камеры, используя Open.Cv ..
И я получаю ошибку в инструкции AfxMessageBox ()..
программа:
BOOL CObjectBoundDetectDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX amp; 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
int nSelected = cvcamGetCamerasCount();
if(nSelected == 0)
{
AfxMessageBox("Camera have no connection",MB_OK|MB_ICONSTOP);
return FALSE;
}
}
ошибка:
Ошибка 2 ошибка C2665: ‘AfxMessageBox’: ни одна из двух перегрузок не смогла преобразовать все типы аргументов c:program files microsoft visual studio 10.0 my projectobjectbounddetectobjectbounddetectobjectbounddetectdlg.cpp 126 1 ObjectBoundDetect
если я посмотрю на определение AfxMessageBox() … приведенное в этой [ссылке]](http://msdn.microsoft.com/en-us/library/as6se7cb (v = против80).aspx) … это должно сработать .. но я думаю, что какая-то проблема в списке параметров .. которую я не понимаю…
Согласно определению.. Оператор AfxMessageBox () не должен вызывать у меня ошибку…
Любой может помочь мне с этой проблемой.. Спасибо за хороший ответ..
Примечание: Камера уже подключена, .. проблем с камерой нет..
Ответ №1:
Две возможности:
Возможно, вам, хотя я сомневаюсь в этом, придется использовать ее глобально. Для этого попробуйте
::AfxMessageBox("Camera have no connection",MB_OK|MB_ICONSTOP);
Другая заключается в том, что use создается для Unicode и считает, что строка является многобайтовой. Для этого попробуйте
AfxMessageBox( L"Camera have no connection",MB_OK|MB_ICONSTOP);
Я нахожусь за городом, на моем Mac, поэтому я не могу это протестировать. Но я застрял в офисе на выходных, поэтому решил предложить попробовать две вещи.
Ответ №2:
AfxMessageBox( L"Camera have no connection",MB_OK|MB_ICONSTOP);
Приведенный выше код работал без каких-либо проблем. Если вы все еще хотите использовать:
AfxMessageBox("Camera have no connection",MB_OK|MB_ICONSTOP);
Вы можете перейти в свойства проекта, на вкладке «Общие» вы можете изменить набор символов с «Использовать набор символов Unicode» на «Использовать многобайтовый набор символов»
Ответ №3:
Используйте, как показано ниже:
AfxMessageBox(_T("YOUR MESSAGE"));