Comunidad Gambas-es
Error: Entero y boolean mezclado con operador AND. SOLUCIONADO - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: General (https://gambas-es.org/forum-4.html)
+--- Tema: Error: Entero y boolean mezclado con operador AND. SOLUCIONADO (/thread-1941.html)



Error: Entero y boolean mezclado con operador AND. SOLUCIONADO - Shell - 21-04-2025

Buenas!.

Tengo esta expresión:
Código:
If ibombillaactual < cbombillas.Count And Not inversion Then

Que me genera:
FMain.44: Integer y boolean mezclados con el operador `And'

El error no se produce en tiempo de ejecución, pero si en compilación.

He encerrado las dos cantidades entre paréntesis que ambas generan una expresión boolean, ya sea True o False
y luego esta se compara con el operador AND.

¿ Por qué se queja el interprete ?
¿ Por la proximidad del valor númerico cbombillas.count del AND ?.
¿ Es el orden de los operadores ?

Puedo dividir en dos condicionales, pero son más líneas.
Funcionar funciona como está, pero no me gusta el error.

Sé que no se pueden mezclar churra con merinas, pero que raro ya que si lo cierro entre paréntesis
esta operación tendría prioridad.

El problema es que había declarado inversión como entero. Tenía valor 0, pero no es lo mismo.
Un fallo bien tonto, pero curioso. Por el tema de los valores enteros (1 y 0) y (True y False) como boolean.

Saludos