我有两个这样的课程 driver.cpp ,方法void loadFile 从 util.cpp
调用另一个方法int initialDragonXPosint loadFile(Dragon * dragons)
{
int index = 0;
index++;
dragons[index].setPosX(initialDragonXPos);
}
方法int initialDragonXPos 就像这样
int initialDragonXPos( )
{
int pos = rand( ) % (MAX_DRAGON_XPOS * 2);
pos = pos + MIN_DRAGON_XPOS;
return pos;
}
这也是 setPosX 方法
void Dragon::setPosX(int posX)
{
this->posX = posX;
}
所以我得到错误:从'int(*)()'到'int'[-fpermissive] 的无效转换。所以我该如何解决它
答案 0 :(得分:2)
您的专家dragons[index].setPosX(initialDragonXPos);
正在尝试分配函数initialDragonXPos
的地址,这会因类型不匹配而导致编译错误。
您需要实际调用该函数。改为:
dragons[index].setPosX(initialDragonXPos());