我下的定義爲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 2014-11-20 21:07:05
@PaulMcKenzie我不知道如何回答這個問題。這是一個空白的MFC程序,這是我輸入到文件 - >打開事件處理程序的第一位代碼 – JayB 2014-11-20 21:08:43
@ user134788用'L'前綴字符串文字,然後重試。您必須將'strFilter'的類型更改爲'WCHAR'。如果你已經結婚了使用T宏的想法,用'_T()'和'TCHAR'來包圍你的文字'strFilter []' – WhozCraig 2014-11-20 21:09:44