Значение l требуется в качестве левого операнда присваивания в isProcessRunning(handle)=true

Я не понимаю, что не так с моим кодом, извините, если это глупый вопрос, я новичок

#include <Windows.h>
#include <iostream>
#include <Winuser.h>
#include <stdint.h>


bool isProcessRunning(HANDLE process)
  {
return WaitForSingleObject( process, 0 ) == WAIT_TIMEOUT;
  }

int main(int argc, char** argv) {
    HANDLE handle = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,FALSE,7824);
    while ( isProcessRunning(handle)=true )
    {
        //code  
    }

    return 0;
}

(строка 15, столбец 34) [Ошибка] Значение l требуется в качестве левого операнда присваивания

1 ответ

Решение

Один = означает назначение. Для сравнения нужно ==,

Итак, что вы хотите, это

while (isProcessRunning(handle) == true)

или просто

while (isProcessRunning(handle))

Другие вопросы по тегам