您好我有一個源代碼在32位編譯使用vs2008時工作正常。現在我正試圖在64位編譯相同的源代碼。對於這段代碼:C2664:在64位編譯時
if(EnumResourceLanguages(gHResources, RT_STRING, MAKEINTRESOURCE(1),EnumLangProc, 0) && (0 < gNumSupportedLangs))
我收到以下錯誤:
Error: error C2664: 'EnumResourceLanguagesA' : cannot convert parameter 4 from 'BOOL (__cdecl *)(HMODULE,LPCTSTR,LPCTSTR,WORD,LONG)' to 'ENUMRESLANGPROCA'
任何可以幫助我如何擺脫它?
什麼是'EnumLangProc'?錯誤消息顯然與'EnumLangProc'有關。如果錯誤消息引用EnumLangProc,則必須記住發佈EnumLangProc的聲明。 – AnT
它看起來最後一個參數應該是'LONG_PTR'而不是'LONG'。無論哪種方式確保'EnumLangProc'的聲明符合['ENUMRESLANGPROC'](http://msdn.microsoft.com/en-us/library/windows/desktop/ms648033 \(v = vs.85 \).aspx) – user786653