Ошибка в Android studio c++: Type 'void' used in 'if' condition is not scalar

Я написал вот такой код и у меня возникает ошибка "Type 'void' used in 'if' condition is not scalar":

void (*ObjectDestroy)(void*);
void (*PLAYER)(void*);
class Ray {};
void (*PhysicsRaycast)(Ray, RaycastHit, float);
Ray (*ViewPointToRay)(Vector3);
void (*old_func)(void *instance);
void func(void *instance) {
    if (instance != NULL) {
        RaycastHit raycastHit;
        if (!GameManagerLateUpdateHookInitialized) {
            GameManagerLateUpdateHookInitialized = true;
        }
        if (bool && PhysicsRaycast(ViewPointToRay(Vector3(0.5f, 1f, 0f)), raycastHit , 3f)) // Type 'void' used in 'if' condition is not scalar
        {
            ObjectDestroy(PLAYER);
        }
    }
old_func(instance);
}

Можно ли её исправить её исправить?


Ответы (1 шт):

Автор решения: Andrej Levkovitch

А что собственно непонятно? Вам же компилятор прямо говорит, что ваша функция PhysicsRaycast возвращает void который вы пытаетесь обработать в if, хотя в if могут обрабатываться только скаляры (int, bool и т.д.)

→ Ссылка