Я после определения для CFileDialog
, но VS2013 все еще говорит мне, что нет конструктора для аргументов, которые я передаю вПроблемы с CFileDialog конкретизации
Мой код:.
CFile theFile;
char strFilter[] = { "TXT Files (*.txt)|*.txt|All Files (*.*)|*.*||" };
CFileDialog fDlg = CFileDialog(TRUE, ".txt", NULL, 0, strFilter);
Результирующая Ошибка:
1 IntelliSense: no instance of constructor "CFileDialog::CFileDialog" matches the argument list argument types are: (int, const char [5], int, int, char [46]) c:\Users\Jonathan\Documents\Visual Studio 2013\Projects\SDI\SDI\MainFrm.cpp 131 21 SDI
И CFileDialog
конструктор для справки:
explicit CFileDialog(BOOL bOpenFileDialog, // TRUE for FileOpen, FALSE for FileSaveAs
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL,
DWORD dwSize = 0,
BOOL bVistaStyle = TRUE);
В чем проблема?
Это сборка UNICODE или MBCS? – PaulMcKenzie
@PaulMcKenzie Я не уверен, как ответить на этот вопрос. Это чистая версия MFC-программы, это первый бит кода, который я ввел в обработчик событий file-> open – JayB
@ user134788, префикс ваших строковых литералов с 'L' и повторите попытку. Вам придется изменить тип 'strFilter' на' WCHAR'. Если вы состоите в браке с идеей использования T-макросов, объедините ваши литералы с помощью '_T()' и используйте 'TCHAR' для типа' strFilter [] ' – WhozCraig