如何比较寄存器与数组和数字

时间:2015-12-16 17:41:13

标签: c++

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 个答案:

答案 0 :(得分:3)

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){