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]
那么,我该如何比较呢?
答案 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){