, когда я попытался скомпилировать мой проект, я получил некоторые ошибки, которые я не могу решить .. в любом случае это один из кодов:Visual C++: ошибка C2664: «GetModuleFileNameW»: невозможно преобразовать параметр 2 из «char [260]» в «LPWCH»
public:
void Init(HMODULE hModule, string Filename)
{
char szLoc[ MAX_PATH ];
GetModuleFileName(hModule, szLoc, sizeof(szLoc));
char* dwLetterAddress = strrchr(szLoc, '\\');
*(dwLetterAddress + 1) = 0;
strcat(szLoc, Filename.c_str());
__OutStream.open(szLoc, ios::app);
}
И ошибка:
error C2664: 'GetModuleFileNameW' : cannot convert parameter 2 from 'char [260]' to 'LPWCH'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Спасибо за помощь .. с уважением, мессир
Ваш код не вызывает 'GetModuleFileNameW'. Вы упустили что-то важное? –
Ваш код компилируется как unicode, но это не так. Либо измените параметры компиляции, измените эту функцию, чтобы использовать широкие символы, либо, в частности, вызовите ASCII-версию функции - 'GetModuleFileNameA'. –
Я не совсем уверен, но ваш персонаж, установленный в Visual Studio, может быть настроен на «Использовать набор символов Unicode» в разделе «Свойства конфигурации»> «Общие» свойств вашего проекта. – Bart