我的代码工作正常,直到几小时后重新加载程序。现在我收到这些错误:
错误C3867:'player :: getxPos':函数调用缺少参数列表;使用'& player :: getxPos'创建指向成员的指针
错误C3867:'player :: getyPos':函数调用缺少参数列表;使用'& player :: getyPos'创建指向成员的指针
这是有问题的代码:
if (P->shoot())
{
shotVector.push_back(shot());
eS = shotVector.size();
shotVector[eS-1].initShot(
P->getxPos, // C3867
P->getyPos // C3867
);
}
我正在尝试从名为player的类中调用两个函数,这两个函数看起来像这样:
int player::getxPos(){
return xPos;
};
int player::getyPos(){
return yPos;
};
我正在尝试询问球员的位置,然后用它来决定从哪里开球。
答案 0 :(得分:21)
shotVector[eS-1].initShot(P->getxPos, P->getyPos);
- 您试图在没有getxPos()
的情况下致电getyPos()
和()
成员。
使用getxPos()
和getyPos()
。
答案 1 :(得分:7)
你忘记了括号,它告诉编译器你想要一个方法调用:
P->getxPos
VS
P->getxPos()
如果您改为使用&P->getxPos
,那将为您提供指向成员函数本身的指针。
答案 2 :(得分:1)
shotVector[eS-1].initShot(P->getxPos(), P->getyPos());