Ошибка C2664 в Visual Studio 2019
Ребят, я совсем недавно начал интересоваться C++, поэтому не могу найти решение для этого. Если можете, распишите подробно, в чем проблема.
Код взят из Github, причем работал он у всех прекрасно, кроме, конечно же, меня.
Ошибка C2664 "bool mProcess::Process(char *)": невозможно преобразовать аргумент 1 из "const char [9]" в "char *"
while(Memory.Process("csgo.exe")); //ошибка С2664 тут
std::cout<<"Found csgo.exe\n";
ClientMemoryAddress = Memory.Module("client_panorama.dll"); //тут
ServerMemoryAddress = Memory.Module("server.dll"); /тут
EngineMemoryAddress = Memory.Module("engine.dll"); /и тут
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
Если эта функция не пишет в передаваемую ей строку (а просто криво объявлена), то можно просто взять и скастить:
while(Memory.Process((char*)"csgo.exe"));
Если же пишет, то надо для начала знать размер буфера и иметь rw-память такого размера. Простейший вариант:
char cmd[256] = "csgo.exe";
while(Memory.Process(cmd));
Кстати, конкретно while можно заменить на for:
for (char cmd[256] = "csgo.exe"; Memory.Process(cmd); );
PS: И меня смущает ; после цикла - она там точно к месту?