Как сравнить регистр с массивами и числами
typedef struct {
int codigo;
char Nombre[MAX_NAME];
char Especie[MAX_ESP];
char tipo;
int voto;
bool controles[MAX_CONTROLES];
int num_controles;
}TAnimal;
TAnimal zoo[500];
if (zoo[i].controles == 1){
controles
является логическим, так что моя ошибка
ISO C++ forbids comparison between pointer and integer [-fpermissive]
Итак, как я могу сравнить это?
1 ответ
controles[]
не является bool
, это array of bool
,
bool controles[MAX_CONTROLES];
Когда вы используете это так
if (zoo[i].controles == 1){
Используя базовый адрес массива, заставляет его распадаться на указатель, отсюда и ошибка
ISO C++ forbids comparison between pointer and integer [-fpermissive]
В зависимости от ваших требований, я думаю, вы пытаетесь сравнить с одним из элементов в этом массиве controles[]
, И для доступа к этому элементу вам нужно предоставить индекс этого элемента вместо x
в строке ниже
if (zoo[i].controles[ x ] == 1){