C++中的错误C3867

Xtu*_*442 3 c++ compiler-errors visual-c++

我的代码工作正常,直到几个小时后重新加载程序.现在我收到这些错误:

错误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
    );
}
Run Code Online (Sandbox Code Playgroud)

我试图从一个名为player的类中调用两个函数,这两个函数看起来像这样:

int player::getxPos(){
    return xPos;
};

int player::getyPos(){
    return yPos;
};
Run Code Online (Sandbox Code Playgroud)

正在做的是我试图要求球员位置,然后用它来决定从哪里射击.

wkl*_*wkl 22

shotVector[eS-1].initShot(P->getxPos, P->getyPos);-你试图调用getxPos()getyPos()成员没有().

使用getxPos()getyPos().


Ada*_*kin 7

你忘了括号,它告诉编译器你想要一个方法调用:

P->getxPos
Run Code Online (Sandbox Code Playgroud)

VS

P->getxPos()
Run Code Online (Sandbox Code Playgroud)

如果您改为使用&P->getxPos,那将为您提供指向成员函数本身的指针.