我原来是
entity * Ptr[8] = { NULL, };
但是当我使用
通过引用将Ptr带到另一个函数时updateMap(&mapGrid, Ptr); //and
void updateMap(map * mapGridU, entity * entityPtr) //then
if (entityPtr[i] != NULL)// gives an error
它说没有运算符“!=”匹配实体和整数的这些操作数
答案 0 :(得分:0)
下标运算符间接指示指针操作数。结果是指针所指向的值加上整数操作数。
由于entityPtr
是entity *
,因此它指向entity
对象。因此,entityPtr[i]
操作导致类型为entity
的左值。由于您正在将entity
对象与NULL
进行比较,因此必须有一个不等式运算符,该运算符可以使用entity
和指针常量NULL
作为参数。您的错误表明不存在此类运算符。
我怀疑您的意图不是将指向的entity
对象与NULL
进行比较。我的怀疑是您打算比较一些指向NULL
的指针。